[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ngl-devel] New features and a few changes
From: |
Vincent Caron |
Subject: |
Re: [ngl-devel] New features and a few changes |
Date: |
Wed, 07 Jan 2004 15:08:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 |
Hello,
here are some hints from me, Meeloo (NUI maintainer) should have more
complete infos.
Peter R. Brinkler wrote:
1: A border widget which creates a border around the contents. With the
ability to specify the border using a set of svg for the various border
posisions (corner, edge....) .
It does not look like it's in NUI. Something like GtkFrame ?
http://developer.gnome.org/doc/API/2.2/gtk/GtkFrame.html
2: The ability to exclude any number of the subwidgets of nuiWidgetBox
from the scaling of the contents. This is important to our project,
which includes fairly complex interface, where resize must allow the
labels and text to remain same size.
You can write your own nuiWidgetBox-like container with different
layout/resize politics, that's the NUI way.
3: n-way paned widget, for the viewport. Fltk (www.fltk.org) provides
such a widget which may serve as inspiration to the implementor.
We never got it right, a closer look at this FLTK implementation
would be nice.
4: Tabbed container.
Effectively lacking.
5: Scrolled container for adding scrollbars around children.
Looks like nuiScrolledView.
6: Choice widget.
What is it ?
7: Value widgets:
class Value;
+ class InputValue : public Value; // Single line input, with up/down
arrows to manipulate value with mouse. Should include precision, range,
step...
+ class InputDoubleValue : public Value;
+ class InputStringValue : public Value
+ class InputLongValue : public Value
+ class SliderValue : public Value; // With range, precision, step and
current value indicated.
+ class Dial : public SliderValue; // Knobs and such.
+ class Wheel : public SliderValue; // Those sgi wheels
+ class ProgressBar : public SliderValue;
Part of the answer is in nuiRange. nuiScrollBar can currently be used
as a slider.
8: Ability to modify the colours (background, border, etc) of the
widgets using this->SetColour( 0xff00aaff );
We would not like to add too many of this features, customization of
widgets (shape, colors, etc) should go further via nuiTheme. Several
people have notified some interest to work in this area, this is
definitively needed. nuiTheme should be a simple layer thats its between
the actual widget-specific rendering code and nuiDrawContext. See Qt and
GTK+ theming APIs to grasp the idea.
9: Form widget like the one motif defines. The form widget allows:
Ability to specify resizability.
Ability to specify positions of child widget borders as well as
relatively to other child widgets.
Ability to lock child widgets borders to edge of container as well as
other child widget borders including the ability to lock border
positions ( never scale this widget so the border is moved )
Some of this notions won't fit into the layout scheme of NUI (this
part is 90% inspired by GTK+). Or to be more precise, you can achieve
these goals by selecting the proper containers or writing them with
these specific politics. For instance to place a widget at a specific
and absolute position, you pack it in a nuiFixed container.
10: Ability to specify animation for button press, menu opening etc.
events.
Animation is a whole topic, never started in NUI.
11: The ability to specify the images for widgets using svg.
You mean the possibility to interchange images and SVGs more easily ?
12: Colour chooser widget
Well, good exercise for a NUI starter, be my guest :)
13: Ramp widget - A widget which creates a ramp between one or more
colours:
14: A RAD tool.
Was started once, someone should be working on it again very soon
(Hugy on IRC). See http://sourceforge.net/projects/yapuka
15: A tutorial into how to write a custom widget.
Hum, NUI is not even really documented. I mean single-liners attached
to methods won't help you much for now, I consider it 'internal memo' state.
16: Demos for each type of functionality/Widget
You have Meeloo's scratchpad named 'nuitest', and the generic demo
name 'tester' (which should only need the addition of an XML file per
widget/situation).
More to come......
Ouch ;). See you,
Vincent