r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!RebGUI] A lightweight alternative to VID

Pekr
18-Apr-2007
[6163x3]
as for request-progress - I propose the same usage as with Calendar! 
Not every time you want a dialog box, which is stupidly blocking 
your UI.
those who want to pop-up dialog-box, still can.
set-disable, set-enable - I welcome it. Some time ago I wrote disable-face, 
enable-face, which simply put transparent face with whatever effect 
block in front of widget you wanted to "disable". It did not block 
the keyboard, but Anton fixed it IIRC, and those two small functions 
are on rebol.org.
Anton
18-Apr-2007
[6166x2]
Those were handy, but I don't recommend that approach anymore. I 
now recommend that each widget have a "ghosted" flag. Depending on 
whether the flag is set, the widget draws itself differently and 
also responds differently to events.
It's more work, but only the widget really knows how to do these 
things properly.
Ashley
18-Apr-2007
[6168]
Agreed, but it's not high on my list of things to do.
Pekr
18-Apr-2007
[6169]
Ashely - as you mentioned "to do", what is your prioritisation towards 
RebGUI? Just curious ...
Ashley
18-Apr-2007
[6170]
Like RebDB and the SQLite Driver I want to get it to the point where 
"it just works", and fixes/enhancements are rarely required. Currently 
it does most of what *I* need it to do, so I'm focusing on nailing 
the few remaining bugs and getting the documentation up to scratch 
for a 1.0 release. I'm envisaging a lot of changes once R3 is released 
so this won't happen until after that.
Pekr
18-Apr-2007
[6171x2]
Is the tree widget review part of the equation?
as for R3 - we don't know for sure, but maybe View will not contain 
any significant changes. My opinion is, that VID and desktop should 
be separate packages, and that View should contain only general gfx 
functionality ...
Ashley
18-Apr-2007
[6173]
A simple tree widget, suitable for request-dir, is in development.


I hope that R3 splits VID off as an optional dialect (much like the 
SDK already does), leaving View as the raw graphics engine to which 
many domain specific dialects can be written (e.g. an animation dialect, 
a gaming dialect, an HTML dialect, etc).


I'm hoping R3 introduces at least these View changes at a minimum:

	Rich Text Support

 Different face types (e.g. min-face, text-face, draw-face, image-face, 
 etc)

 Fixes the long-standing detect face bug (or defines the current behaviour 
 as being correct)
Pekr
18-Apr-2007
[6174x3]
Different face types

 - who knows, maybe that is what GOB (graphics object) is supposed 
 to be for ...
I wonder what does it mean "simple" tree widget :-) it will not be 
full-blown tree? Will automatic scroll bars, hilite, keyboard navigation 
as in OS? I will ask Cyphre if he was successfull in extracting tree 
widget from drop-tree ...
nice thing about RebGUI is, that styles are self-contained. Anyone 
can create new. I am with Anton here towards widget containing each 
its own implementation (method) of particular functionality, e.g. 
already mentioned set-disable, set-enable, as each widget (its author) 
knows best, how to implement it for the particular widget.
Ashley
18-Apr-2007
[6177]
Build #83 Released. For more information see:

	http://www.dobeash.com/RebGUI/release.html#section-8

and:

	http://www.dobeash.com/RebGUI/user-guide.html

Includes changes from builds 73-83, plus new dictionary files.
Mchean
18-Apr-2007
[6178]
Wow impressive documentation
Graham
18-Apr-2007
[6179x3]
in request-spellchecker/next-word .. is this clearer removing the 
double negative ?

		if all [ init word ][
				;	update dialog
				txt/text: fld/text: word
				show [txt fld]
				insert clear lst/data edit/lookup-word word lst/redraw
				;	hilight word
				view*/focal-face: face
				view*/caret: none
				edit/hilight-text start end
				show face		
		]
		none? word
oops .. last line should be 

word? word
If I resize a window containing a chat widget, it corrupts the widget. 
 Can I link to the resize event to do a show on the chat widget?
Ashley
18-Apr-2007
[6182x3]
You're on the right track. Code can be refactored as:

			unless any [
				empty? word
				find ignore word
				...
			]
			...
		]
		if all [none? init word] [
			...
		]
		string? word
	]
	if next-word/init [
If you look at the source code for chat.r you'll see a commented 
out show face/pane/1 and show pane/1. Uncommenting either of these 
will fix all display problems for chat, BUT, subsequent widgets will 
not render correctly as the show "eats" subsequent resize events. 
You can see this with the following code:

	display "" [
		after 1
		button "One"
		chat #HW data ["a" none "b" none 1-Mar-2007/10:00:00]
		button "Two"
	]

where button 2 is not drawn correctly.
Build #85 uploaded with above spellcheck changes and an improved 
anagram algorithm (about 10 times faster).
Graham
19-Apr-2007
[6185x3]
I'm having problems with tables.  the new table appears in some instances 
to lock up my entire application.
An error has occurred.  If this occurred with an upgrade, please 
revert to the older version for the meantime, and report the error 
message as documented below.

make object! [
    code: 303
    type: 'script
    id: 'expect-arg
    arg1: 'clear
    arg2: 'series
    arg3: [series! port! bitset! none!]
    near: [clear f/text 
        all [f/type = 'area f/para/scroll: 0x0 f/pane/data: 0] 
        f/line-list:
    ]
    where: 'clear-text
]
It's occuring only on edit-list widget where there is some text displayed
Ashley
19-Apr-2007
[6188]
the new table appears

 ... tables aren't new, there're one of the widgets I have yet to 
 code review (although I have made some face-iterator changes which 
 handle row selection and on-click actions).


clear-text is not used by anything in the base distribution. Looks 
like something is doing a 'clear-text without providing a face argument.
Graham
19-Apr-2007
[6189x4]
>> display "" [ el: edit-list data [ "1" "2" ] button "Set" [ el/text: 
1 show el ] button "clear" [ clear-text el
]] do-events

** Script Error: clear expected series argument of type: series port 
bitset none
** Where: clear-text
** Near: clear f/text
all [f/type = 'area f/para/scroll: 0x0 f/pane/data: 0]
f/line-list:
Looks like I set it to integer and it displays okay, but then clear-text 
fails
So, in clear-text, changing clear f/text to f/text: copy "" fixes 
the problem
I guess the point is that one should always use the accessors
Ashley
19-Apr-2007
[6193]
Assigning a non-string value to face/text is not a good practice. 
It just means more work for View (which has to dynamically form the 
value) and might break several things that depend on face/text being 
none! or string!
Graham
19-Apr-2007
[6194x3]
otoh, it makes less work for users not to have to form dates and 
numbers being displaying them in widgets
and let the accessor do the job
Looking at my code, it's a form that loads the data from a database, 
and then uses a routine to go through all the widgets and set the 
data.  Just need to add a 'form to it.
Pekr
19-Apr-2007
[6197]
it is curious how each of us think differently about priorities. 
E.g. dictionaries - I never thought I could use them in my db "apps". 
Are you guys really using the features so much?
Graham
19-Apr-2007
[6198]
you mean spelll checking dictionaries ?
Pekr
19-Apr-2007
[6199x2]
Well, 1.0 is aproaching, and I am getting feeling it will miss on 
some very important styles. But that is also about how each of us 
is used to code his apps. I would like to know, what are you e.g. 
Graham missing mostly with your rebgui based CRM?
yes .... that is feature I turn off even with emailers, Word, etc. 
:-) Well, spell-checking is ok for me, but I hate auto-corrections, 
as those engines are not smart enough imo - they always screw my 
text somehow, thinking that I wanted to write something differently 
:-)
Graham
19-Apr-2007
[6201x2]
I'm pretty much set if everything works
A tree widget is not necessary for me but would be nice
Pekr
19-Apr-2007
[6203]
some time ago I posted two screenshots of possible widget additions, 
which could allow more robust app design - UI wise. I wonder what 
ppl miss in general ...
Graham
19-Apr-2007
[6204]
and I would like to be able to set colors on rows of a table.
Pekr
19-Apr-2007
[6205x3]
Yesterday I saw interesting widget - kind of tree combined with list-view. 
You simply had tree-view as basic view, but when you uncollapsed 
the node, list-view (table) appeared ... interesting - It allowed 
to logically nest into subcategories, e.g. company, orders, companies 
- list of orders in table style ...
it is a pity Cyphre is busy. I asked him to adapt grid, and he also 
promissed to extract tree out from drop-tree. But otoh I am glad 
he works on some parts of View for R3 :-)
Graham - why e.g. Chat widget appeared? Do you use it? I will have 
to look, how it communicates :-) btw - why there is the distortion 
to initial display of the widget?
Graham
19-Apr-2007
[6208x2]
Yes, I am using it.
I don't get the initial distortion of the widget
Pekr
19-Apr-2007
[6210]
I will recheck, sync latest release ...
Graham
19-Apr-2007
[6211x2]
What I mean is, if I use the chat widget and build a window with 
it, I don't get the distortion.  I do if I use tour.r
Found my table error ... I was bringing up a modal window to delete 
a row, and once I deleted it, I did a unview/only face/parent-face 
on the on the button when I should have done a hide-popup.  This 
completely killed the events system.