World: r3wp
[View] discuss view related issues
older newer | first last |
Anton 9-Nov-2005 [3155] | Gosh. Was the old code an attempt at direct pane programming ? Is the standard LIST performing ok ? |
Henrik 9-Nov-2005 [3156x3] | The standard list has a few problems, notably in that you are forced to update the entire listview, when you want to refresh a single entry. That makes it slow for mouseovers. The old code was much faster at scrolling and doing mouse overs as I could have full control over which part of the list I wanted to show, but everything was done manually, but it was not direct pane programming. |
but the standard list is very elegantly done and allows you to have a simple iteration function. It's a bit too simple, but then again I can't find proper docs on doing LIST with SUPPLY | |
(but I seem to be using the word 'but' a lot) | |
james_nak 10-Nov-2005 [3159] | All, FYI, I found out my "save" problem was not setting my words to "[]" before a load. SAving was working...the viewing was not! When will I remember that little thing about Rebol. |
Henrik 11-Nov-2005 [3160] | I'm trying to make a button behave like a text field, but I can't make it work. view layout [b: button "Hello" with [flags: [field input return text]]] what's missing? |
Volker 11-Nov-2005 [3161] | the right feel? |
Henrik 11-Nov-2005 [3162] | could be... |
Geomol 11-Nov-2005 [3163] | Try: layout [f: field "Hello"] probe f/feel |
Henrik 11-Nov-2005 [3164] | volker, geomol, thanks! it was correct |
Graham 14-Nov-2005 [3165x2] | I've been playing around with Frank's paint.r in the library. I implemented a free hand draw tool but found that a simple line or circle takes about 32k of draw instructions :( |
I wonder if there's a more efficient way to do this than combining lots of line draws together? | |
Ashley 14-Nov-2005 [3167] | It's a simple problem of polling frequency. Try changing the code so that a new point is not placed unless it is more than (say) 4x4 away from the previous point. |
Anton 14-Nov-2005 [3168x3] | I see. I noticed also that the DRAW function adds PEN pen-col FILL-PEN fill-col LINE start offset for every new point, when what is necessary is only new offsets. |
I suggest to add an OLD-TYPE variable, and put something like this in the DRAW function: either all [type = 'free-hand type <> old-type][ ; add all the initialising stuff (PEN FILL-PEN, LINE start) ][ ; otherwise compose in nothing ] | |
So when you change from circle to free-hand, DRAW adds the initialising draw commands, but after that, just adds an offset. Ooops, I should have checked for type = old-type so we can add the single offset. Anyway, you get the idea. Just move that condition inside the either true block. | |
Henrik 15-Nov-2005 [3171] | hmm... how do I set the default entry in a CHOICE at layout time? I wanted to do something like this: view layout [choice "1" "2" "3" with [data: next face/data]] |
RobertDumond 15-Nov-2005 [3172x4] | hallo, alls... i have a question regarding view events... i am testing using the following code, which creates two text fields, one of which only accepts numerical input... |
view/new layout [ the-field: field feel [ engage: func [face action event] [ if action = 'key [ if all [ greater? (to-integer event/key) 47 lesser? (to-integer event/key) 58 ] [ append face/text event/key show face ] ] ] ] new-field: field ] focus the-field do-events | |
first question, is how can i get the first text field to accept mouse click events? how then do i get it to recognize the tab key to switch focus to the next field? | |
also, can i update the position of the text curser in the number field so that it is the current position being typed at? (bad wording, i know... ) | |
Henrik 15-Nov-2005 [3176] | robert, what happens in the above code is that you replace the original feel functions with one ENGAGE function. that's why you loose normal field functionality |
RobertDumond 15-Nov-2005 [3177] | is there an alternate way i should be doing this? |
Henrik 15-Nov-2005 [3178x4] | you need to copy in the original feel from a generic field face into your new field along and then add your code to its existing engage function |
it's a bit of a hassle... | |
try: probe get in new-field/feel 'engage that's the original code | |
that's the code you need to alter... | |
RobertDumond 15-Nov-2005 [3182] | thank you, i will try that |
Henrik 15-Nov-2005 [3183x2] | you can copy it out into a separate function, which could be called ENGAGE-FUNC and make you alterations. then you can initialize a normal field with a new ENGAGE function in your layout: the-field: field with [feel/engage: :engage-func] |
this will leave the remaining feel functions untouched | |
Geomol 15-Nov-2005 [3185x3] | Henrik, your choice problem. I think, you have to redefine choice. The problem is in the multi/text function. You can do it at layout time this way: view layout/size [choice "1" "2" "3" with [multi/text: func [face blk] [if pick blk 1 [face/texts: copy blk]] text: "2"]] 400x400 |
It's better to make your own choice with your own multi/text function. | |
using styles for example. | |
Henrik 15-Nov-2005 [3188] | thanks, I'll give it a try... |
Volker 15-Nov-2005 [3189] | http://polly.rebol.it/test/test/extend-engage.r |
Graham 15-Nov-2005 [3190x3] | I want to save my draw commands to a text database field. |
is this the only way form compress mold data ? | |
the question really is, is there a native way to compress blocks as a string value ( for saving into a text field ) | |
Volker 15-Nov-2005 [3193] | by molding them |
Graham 15-Nov-2005 [3194x2] | does molding save space though? |
that's what I am doing above, molding and then using using compress | |
Volker 15-Nov-2005 [3196] | no, but then you have a string. then you can compress. then you can write/binary . |
Graham 15-Nov-2005 [3197] | text field .. can't save as binary. |
Volker 15-Nov-2005 [3198x2] | i overlooked text-field, only saw saving. |
why do you want to do that, compressed in a field? | |
Graham 15-Nov-2005 [3200x2] | because the field is varchar(8192) |
and data is being transmitted over tcp, so good to compress first | |
Volker 15-Nov-2005 [3202x2] | a sql-field, not a face-field? |
you can use 'as-string instead of 'form. but i know no better way that "compress mold". | |
Graham 15-Nov-2005 [3204] | sql field |
older newer | first last |