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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Vladimir
26-Apr-2009
[8022]
Question about the table widget:
Can the label in column header be two rows ?
Like this:
Date
of purchase
Graham
26-Apr-2009
[8023x2]
no
Well, not unless you want to modify it.
Vladimir
27-Apr-2009
[8025]
:)
Ashley
27-Apr-2009
[8026]
a print statement after this confirms the layout function is called 
twice on a double click

 ... as per documentation ( http://www.dobeash.com/RebGUI/user-guide.html#section-3.2.3
 ) "Every on-dbl-click event is preceded by an on-click event, as 
 shown in the following example: ..." But, the real problem here (as 
 you've discovered) is that the method for checking window uniqueness 
 relies upon a [title] string that only manifests *after* a layout 
 is substantiated. I suppose RebGUI could manage its own window title 
 cache, but then you introduce another point of failure (if the cache 
 gets out of sync with view*/screen-face/pane). I wonder if putting 
 a small wait value *before* the current title string test would "fix" 
 the problem (i.e. give the preceeding layout sufficient time to substantiate)?
Graham
27-Apr-2009
[8027x8]
I understand that a dbl-click always produces a single click action, 
but why do we get two windows popping up on  double click?
That seems to me to suggest that the single click action is firing 
twice and not just once.
I'll try the wait thing and see if that works.
How about the display function not returning until it finds it's 
own window in the view*/screen-face/pane ?
Perhaps view needs a way to call a callback after it has substantiated 
the new window ...
puting a wait  0.1 before the window title check seems to fix it 
for me.
Except my application no longer works ... even with a wait as small 
as 0.001
can't see why that should happen.
Pekr
10-May-2009
[8035]
I am trying to adapt Cyphre's old grid to recent RebGUI requirements. 
I got myself past color adaptation, so actually I can get it displayed, 
internally it returns correctly API function results, but I need 
to adapt to event handling. I am facing two problems:

- editing, double-click etc do not work
- during some actions as resizing I get following error:

** Script Error: action has no refinement called on-click
** Where: set-data
** Near: face/action/on-click face


I looked into: help ctx-rebgui/widgets/grid/action, but those funcs 
are not set. Is there any need to set those function for particular 
widget? I looked at some other styles as e.g. button, but button 
is not using its face/action/on-click either, so I am a bit confused 
....
Graham
10-May-2009
[8036x2]
http://trac.geekisp.com/rebgui/browser/widgets/button.r
engage function seems to handle the click on the 'up event
Pekr
10-May-2009
[8038]
yes, but there is no code in grid, which calls on-click. My asumption 
is, that it is being called by rebgui internally for my widget. So 
I have to probably define it. Dunno. Most probably I am not able 
to proceed further. There is not clear description of that functionality.
Graham
10-May-2009
[8039]
which grid?
Pekr
10-May-2009
[8040]
Cyphre's grid. After Henrik's grid it is simply the most advanced 
REBOL grid and it is really stupid it was not adopted to new standard, 
waste of functionality and money ...
Graham
10-May-2009
[8041x2]
I seem to have a grid.r in my distro.
there's on on-key handler there.
Pekr
10-May-2009
[8043]
yes, but you use probably old Rebgui distro, no?
Graham
10-May-2009
[8044]
not the latest version
Pekr
10-May-2009
[8045]
I downloaded 118 and there is no grid. Grid was not adopted to new 
API IIRC.
Graham
10-May-2009
[8046]
I never saw the grid ever working.
Pekr
10-May-2009
[8047x2]
well, there is 'on-key, but it is not what is needed imo. Widgets 
do use abstracted widget/action principle ...
Graham - it is not true. IIRc I prepared package which I sent to 
you, with primitive initial doc, with included rebgui version, and 
it was working. The bad thing is, that it is some early version I 
paid for, but at that time there were some API changes to RebGUI, 
and I was not able to further contract Cyphre to adapt it ...
Graham
10-May-2009
[8049]
Pekr, I never got that to work.
Pekr
10-May-2009
[8050]
I think I know why - because it worked with some 2006 version of 
RebGUI, but not later ... well, I'll see, what I can do ....
Graham
10-May-2009
[8051]
go for it!
Ashley
10-May-2009
[8052]
The problem with the grid widget was that it relied on custom changes 
in rebgui-edit.r (i.e. it wasn't self-contained) and it was just 
too big to easily "grok" (and hence port). A good grid widget should 
have as few features/options as possible IMHO (i.e. get something 
that handles the text-only 80% case before worrying about more complex 
sub-widget support).
Pekr
10-May-2009
[8053]
ok, so here we are, with such argument and final result - no proper 
grid with basic functionality like horizontal scrolling.
Ashley
10-May-2009
[8054]
scroll-panel data [sheet] ?
Pekr
10-May-2009
[8055x4]
OK, here we go:

- full keyboard navigation

- virtual-data-system - ability to hide/show columns, without the 
need to reorganise original data block (virtual columns)
- the same for rows
- programmable navigation (goto)
- buttons, checkboxes - simply layout elements in cells
- tri-state columns - sorted, unsorted, original

missing  (it was supposed to be done as an update):
- column resizing
- saving the configured state for particular form
I do understand your point of view, which is - you try to keep Rebgui 
to its original idea. But - VID styleset is not real alternative 
to R2 GUI navadays, so refusing more complex widgets, especially 
in the case where noone really pushes anyone to use them, is escaping 
my understanding.
Of course if grid breaks some RebGUI habits, then it is not good 
.....
I'll try to talk to Cyphre, but not sure how deep the changes would 
have to be. If it would require a rewrite, then I am not ready to 
pay for it once again ...
Ashley
10-May-2009
[8059]
RebGUI is in maintenance mode so at least no more drastic (widget 
breaking) changes are in the pipeline ;)
shadwolf
10-May-2009
[8060x6]
i'm trying to port area-tc to rebgui ... and I don't understand why
when i do
feel: make object! [
		redraw: detect: over: none
		engage: func [face act event /local txt] [
			probe act
			
		]; fin engage
	]


then i create the distrubution then i run my "demo" app in the widget 
area-tc (custom) I see time and mouse related events but i never 
see keyboard related event
I don't understand how to handle  events with rebGUI
feel/engage don't recieve keyboard events ...
which seems really strange.
rebgui-ctx.r >> 

system/view/screen-face/feel: none	; kill global events system (used 
by 'insert-event-func) 


the reason why area-tc will not be adapated to rebgui until ashley 
explain me how to map custom events for a custom face
Ashley
11-May-2009
[8066]
on-key might be what you're after ( http://www.dobeash.com/RebGUI/user-guide.html#section-3.2.8
)
Graham
11-May-2009
[8067x2]
I guess Ashley wants to place Rebgui into a state of closure and 
move on.
But that shouldn't stop us from enhancing it further .. if we can!
shadwolf
12-May-2009
[8069]
i tried on-key too  the key events can't reach the wdget for some 
unknown reason 

Well anyway i won't loose more time with that issue.
Graham
15-May-2009
[8070x2]
Looks like all the tracs Jaime was sponsoring have lapsed ... http://trac.geekisp.com/
Maybe we need to shift rebgui over to another site eg. codeplex