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

World: r3wp

[!REBOL3-OLD1]

Maxim
28-May-2007
[2722]
both have their merits in different circumstances.
Gabriele
28-May-2007
[2723x2]
keep in mind that R2 already supports the system tray in windows, 
and the way it does could be easily used for the same thing on linux 
kde or gnome.
a similar way to support system level menus could be added. then 
you can decide if you want to use that or create your own with gobs 
(we should provide them as a default style/whatever, but maybe it's 
something that can be left out of the initial july release... dunno)
btiffin
28-May-2007
[2725]
Umm, I'm all for whatever gives us menus the quickest.  Apps without 
them suck.  :)
Pekr
28-May-2007
[2726]
hmm, difficult decision. IMO we have to start with new VID and its 
design first. Then we can hook platform specific things. E.g. I am 
curious, what you think how rebol uses native OS dialog windows for 
each "view/new" .... that e.g. becomes trouble with plug-in. Would 
anyone welcome rebol (VID) level windowing?
Gabriele
28-May-2007
[2727x4]
nothing forces the plugin to open new windows instead of opening 
them inside the browser window.
the R2 plugin was limited because the R2 code is not flexible enough.
in R3 you can completely replace the rendering system.
there are various level of os-neutral... look at how java looks java 
and behaves java everywhere (and that's not always a nice thing)
Maxim
28-May-2007
[2731]
java is extremely slow at gui...an application I used which used 
their layout engine and graphics would take 2 second on my computer 
when resizing the applicaiton.  just for fun, I built the same layout 
in glayout (VID) and it would resize in .1 seconds (on the same computer).

so java really sucks at GUIs.
Pekr
28-May-2007
[2732x3]
Gabriele - but that is the exact problem, no? There was plan to limit 
amount of opened dialog windows to e.g. 5 of them. And then - it 
looks ugly, if your app is placed in browser container and suddenly 
there is dialog window popping up, which is added to your OS app 
bar, and what is worse, it can be catched by ad-block tools. That 
is what could be imo solved by VID level windowing ...
I would suggest, to not overcomplicate things from the very beginning, 
to simply stick to what we have - cross platform UI behavior. I know 
there are OS specific things - installers, control panel icon, systray 
icon, OS-X (Amiga) system menu, etc., those should be possible as 
an option ... (e.g. view/new/os could use OS dialog box ... or view/specs 
layout [layout here] [spec-block configuring how the same layout 
should map to OS features ... .e.g. already mentioned menu)])
during first run, I would welcome to have trouble free and extensible 
VID replacement, with most (all) of limitations/defficiencies of 
current model being fixed. For the july release, that is. It would 
not even have to fix them all with first release, but engine should 
be designed so it will allow us to finish it later in a good way, 
no hacks ...
Henrik
28-May-2007
[2735]
if R3 is to take advantage of OSX GUI, it would have to be made compatible 
with .nib files, the file in which menus are stored. The GUI is a 
separate file in the application bundle.
Will
28-May-2007
[2736x2]
..is there anything better/easier/welll-thought  than Interface Builder 
3.0 (Leopard os x) ? that is the only thing that make great looking 
apps for a programmer, qurtz composer, core image and now core video 
8-)
http://chanson.livejournal.com/tag/interface+builderand http://rubycocoa.sourceforge.net/Documentation
Geomol
28-May-2007
[2738]
We cannot move forward until we can stop reinventing.


I kinda second that. My problem is, that I want a 'pure', simple 
and well thought out foundation to work from. I often find myself 
reinventing, because what's already there isn't good enough. A positive 
thing is, that REBOL is such a nice language to reinvent in, because 
there's a short way from idea to solution.


There was talk about menus. For Canvas RPaint, I built a menu-system 
from scratch. It's 5-6 k of REBOL source and means, that I don't 
have to reinvent menus any longer. Unless some customer wants menus, 
that looks and feels 100% as hosting OS. That's the downside.


When is something good enough, so we don't have to reinvent? Maybe 
progress comes from reinventing to some degree?
Henrik
28-May-2007
[2739]
The question is whether we want to integrate into the OS or not? 
Almost each OS does menus, systray notifications and window handling 
differently.
Geomol
28-May-2007
[2740]
In compressed source, the Canvas RPaint menu-system is 1468 bytes.
Henrik
28-May-2007
[2741]
geomol, is it made so it can be generalized for other programs?
Geomol
28-May-2007
[2742x2]
If the idea of REBOL in the long run is an OS (or virtual OS or whatever 
it's called), it might be a good idea to separate as most as possible 
from host OS.
Henrik, yes it's easy to implement the menu-system in other programs. 
You give it a datafile with a format like:
[
	"Picture" [
		"Load..." [off "^^L" []]
		"Save..." [on "^^S" [RPproc/save-picture]]
		separator []
		"Flip" [on menu [
			"Horizontal" [on action [proc/flip-bitmap-horiz]]
			"Vertical" [on action [proc/flip-bitmap-vert]]
		]]
...
and you have a menu.
Henrik
28-May-2007
[2744]
nice and simple. are you going to publish it?
Geomol
28-May-2007
[2745x6]
Yes, that's the idea, when I can release Canvas for all versions 
of View. I plan to release info about developing such a monster in 
some way, maybe as a book, not sure.
Maybe it will be a good idea to do it as a book with a CD with all 
the building blocks for developers to use.
The format of the datafile is string - block, string - block, ..., 
as you can see. For menu-lines, the block holds
on/off - whether the menuitem can be selected or not (ghosting)

menu/action/string - king of menu-item. If a string, it's the keyboard 
shortcut.

block - for actions, it holds the name of the function to call. For 
menus, it holds the sub-menu.
king of = kind of
A separator in a menu is made with
separator []
I think, this basic design can cope with all my needs for a menu 
system. The visual layout of it can differ. So far, I've made two 
versions, AmigaMenu.r which show it as original menus seen on the 
Amiga, and CanvasMenu.r, which is maybe a little nicer look.
Pekr
28-May-2007
[2751x2]
Henrik - were you at older IOS? Cyphre did very nic menu, OS-like. 
That was so good, that I would not search for any other functionality 
- translucent, automatic alignment when close to window border, context 
menu, floating menu, etc.
my preference is to have general enough VID ... and I don't agree 
to e.g. separate multi-pane window, menu, etc., into another layer 
... it is not imo necessary ...
Henrik
28-May-2007
[2753]
pekr, no I didn't see that one
Pekr
28-May-2007
[2754x3]
uh, will look for some screenshot, but not sure I made one :-(
Not sure I have IOS developer's connection still active. I will look 
at my home's pc ...
found it ...
Henrik
28-May-2007
[2757]
pekr, I find it highly necessary, because of the aforementioned lack 
of high level structure. It's not a luxury, but meant as a guideline 
to how to make your program look and act. I've changed the structure 
of my programs over the years too many times, because there was no 
real way to standardize this. Every REBOL programmer must come up 
with his own standard for this, which IMHO is a lot of unnecessary 
work.
Geomol
28-May-2007
[2758]
You can see the whole menu datafile for Canvas RPaint by doing:

>> print decompress read/binary http://home.tiscali.dk/john.niclasen/canvas/modules/menu.dat
Pekr
28-May-2007
[2759x2]
http://www.xidys.com/rebol-view/cyphre-menu1.jpg
http://www.xidys.com/rebol-view/cyphre-menu2.jpg
It is part of Cyphre's stylepack, which is freely available from 
rebol.cz somewhere :-)
Rebolek
28-May-2007
[2761]
well freely...the license is very confusing :)
Pekr
28-May-2007
[2762x2]
Henrik - but I can imagine more than 10 such styles, how you build/divide 
canvas for your app :-( And last years, we have apps appearing, which 
simply don't adhere to some system rules anymore ...
Henrik - who not let it just be a style? Just like tab-view is container 
for other stuff? You could start the hierarchy with - view layout 
[app-window split-window 3 [list-box .......]]
Rebolek
28-May-2007
[2764]
This is also nice menu: 

do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=menu-system-demo.r
Pekr
28-May-2007
[2765]
hey, that is cool ;-)
Henrik
28-May-2007
[2766x2]
Pekr, it's highly likely that people will settle for a guide, if 
one is provided with REBOL and it's made in a reasonable way. There 
is a reason why most OS'es have interface guidelines, namely to encourage 
consistency. The good thing with a guide is that you are not forced 
to use it, and it's not meant to restrict you, but help you develop 
your software faster, since all those design decisions are already 
made for you. If you want to build a custom dialog, it would be very 
nice if you have the basic arrangement already available, so you 
can settle for creating content for the dialog.
pekr, it _is_ a style. maybe we are just naming them differently 
and we agree after all. :-)
Pekr
28-May-2007
[2768x2]
Henrik - I just don't believe it will not push its usage style on 
me ...
but the truth is, that maybe we shold decide, if it is better to 
have them, or not ...
Henrik
28-May-2007
[2770]
pekr, it probably depends on what type of UIs you develop. Is it 
large programs or just smaller scripts with a GUI slapped on? I see 
guides only as beneficial, when developing larger programs.
Pekr
28-May-2007
[2771]
I think that kind of general split window with settable (resize yes 
or no) panes, auto-scrollers, could be suitable?