|
Archives
D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger
C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows
digitalmars.empire
digitalmars.DMDScript
|
digitalmars.D.dwt - about harmonia
↑ ↓ ← → ns <dummy dummy.com> writes:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
Except for the packages and forum links on left, no other links seem to
work.
Is there any documentation/tutorials on harmonia where I can get to know
it better ?
Thanks in advance.
NS
↑ ↓ ← → Hasan Aljudy <hasan.aljudy gmail.com> writes:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
Except for the packages and forum links on left, no other links seem to
work.
Is there any documentation/tutorials on harmonia where I can get to know
it better ?
Thanks in advance.
NS
There used to be something there .. but I don't why the pages got reset
to the default wiki page or something.
Unfortunately there doesn't seem to be much documentation for Harmonia,
which is a shame because it seems to have a really great potential; it's
not getting the attention it deserves.
↑ ↓ ← → Hasan Aljudy <hasan.aljudy gmail.com> writes:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
↑ ↓ ← → Kristian <kjkilpi gmail.com> writes:
On Sat, 07 Oct 2006 04:38:39 +0300, Hasan Aljudy <hasan.aljudy gmail.com>
wrote:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
Looks promising. :) I like very much the sinking/bubbling event
dispatching. IMHO, that's the correct order to deliver event messages.
E.g. when the mouse is clicked, the topmost widget (the application
object, actually) will get the event message first, and finally the
bottommost widget.
For instance, Qt sends the event message directly to the bottommost
widget. If you like to catch the message, then you have to create an event
handler and install it for the widget. Not good.
However, sinking/bubbling does not make signals/slots needless.
Sinking/bubbling is great when building 'solid constructs', e.g. windows
(internal messaging). Signals/slots are great when linking widgets to your
functions and other widgets (external messaging).
For example, there is a container C. Inside it are widgets A and B. When
the user presses the right mouse button inside the container C, a context
menu should open. Sinking/bubbling makes this easy to implement: just
catch the event before A or B gets it. Now, when the user presses left
mouse button over the widget A, a function X should be called.
Signals/slots make things breeze here: simply connect the 'pressed()'
signal (or something similar) to the function X.
↑ ↓ ← → Josh Stern <josh_usenet phadd.net> writes:
On Sat, 07 Oct 2006 12:28:42 +0300, Kristian wrote:
On Sat, 07 Oct 2006 04:38:39 +0300, Hasan Aljudy <hasan.aljudy gmail.com>
wrote:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
Looks promising. :) I like very much the sinking/bubbling event
dispatching. IMHO, that's the correct order to deliver event messages.
E.g. when the mouse is clicked, the topmost widget (the application
object, actually) will get the event message first, and finally the
bottommost widget.
For instance, Qt sends the event message directly to the bottommost
widget. If you like to catch the message, then you have to create an event
handler and install it for the widget. Not good.
Hi, I'm not familiar with Harmonia, but it sounds like you are implying
some limitations for Qt that are not really there. Have a look at the
docs for QCoreApplication::notify()
http://doc.trolltech.com/4.2/qcoreapplication.html#notify
and QObject::installEventFilter()
http://doc.trolltech.com/4.2/qobject.html#installEventFilter
and see if you agree.
↑ ↓ ← → Kristian <kjkilpi gmail.com> writes:
On Tue, 10 Oct 2006 06:17:06 +0300, Josh Stern <josh_usenet phadd.net>
wrote:
On Sat, 07 Oct 2006 12:28:42 +0300, Kristian wrote:
On Sat, 07 Oct 2006 04:38:39 +0300, Hasan Aljudy
<hasan.aljudy gmail.com>
wrote:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
Looks promising. :) I like very much the sinking/bubbling event
dispatching. IMHO, that's the correct order to deliver event messages.
E.g. when the mouse is clicked, the topmost widget (the application
object, actually) will get the event message first, and finally the
bottommost widget.
For instance, Qt sends the event message directly to the bottommost
widget. If you like to catch the message, then you have to create an
event
handler and install it for the widget. Not good.
Hi, I'm not familiar with Harmonia, but it sounds like you are implying
some limitations for Qt that are not really there. Have a look at the
docs for QCoreApplication::notify()
http://doc.trolltech.com/4.2/qcoreapplication.html#notify
and QObject::installEventFilter()
http://doc.trolltech.com/4.2/qobject.html#installEventFilter
and see if you agree.
Well, I don't know if it's a limitation, but a feature. And yes, you can
catch events by the 'QCoreApplication::notify()' function also. Please
tell me if I am wrong, but one cannot catch events of another widget
without using 'QCoreApplication::notify()' or event handlers. For example:
class Button {
virtual bool event(QEvent *e);
};
class Container {
virtual bool event(QEvent *e);
};
Button B;
Container C;
C.add(B);
The container 'C' contains the button 'B'. When the user clicks a mouse
button over 'B', the mouse click event will be delivered to 'B' and only
to it. That is, 'Container::event()' will not be called. So, if 'C' wants
to know if a mouse button has been clicked inside it, even if the click
happens over some of its subitems, you have to redirect events from 'C's
subitems (i.e. 'B') to 'C' somehow. One way is to create an event handler
and install it to all the 'C's subitems ('B'). The event filter then calls
'Container::event()' (or some other function) when necessary.
In sinking/bubbling first 'Container::event()' will be called, then
'Button::event()' if 'Container::event()' allows it (i.e. it didn't catch
the event). So, no need to do any 'tricks' with event filters, etc.
↑ ↓ ← → Josh Stern <josh_usenet phadd.net> writes:
On Tue, 10 Oct 2006 11:45:30 +0300, Kristian wrote:
On Tue, 10 Oct 2006 06:17:06 +0300, Josh Stern <josh_usenet phadd.net>
wrote:
On Sat, 07 Oct 2006 12:28:42 +0300, Kristian wrote:
On Sat, 07 Oct 2006 04:38:39 +0300, Hasan Aljudy
<hasan.aljudy gmail.com>
wrote:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
Looks promising. :) I like very much the sinking/bubbling event
dispatching. IMHO, that's the correct order to deliver event messages.
E.g. when the mouse is clicked, the topmost widget (the application
object, actually) will get the event message first, and finally the
bottommost widget.
For instance, Qt sends the event message directly to the bottommost
widget. If you like to catch the message, then you have to create an
event
handler and install it for the widget. Not good.
Hi, I'm not familiar with Harmonia, but it sounds like you are implying
some limitations for Qt that are not really there. Have a look at the
docs for QCoreApplication::notify()
http://doc.trolltech.com/4.2/qcoreapplication.html#notify
and QObject::installEventFilter()
http://doc.trolltech.com/4.2/qobject.html#installEventFilter
and see if you agree.
Well, I don't know if it's a limitation, but a feature. And yes, you can
catch events by the 'QCoreApplication::notify()' function also. Please
tell me if I am wrong, but one cannot catch events of another widget
without using 'QCoreApplication::notify()' or event handlers.
Yes, I think "cannot" is wrong. If the the most spatially specific
widget doesn't want to handle the event in the general case, the event
is normally propaged to the spatial parent (this is traditional for all
X11 toolkits based on the way Xlib itself works, and Qt's notify follows
that), but if you want to intervene in a special case then Qt allows you
to install an EventFilter. That's what my two links above are describing -
first how the general case is handled, and then how EventFilters work.
↑ ↓ ← → Hasan Aljudy <hasan.aljudy gmail.com> writes:
Hasan Aljudy wrote:
ns wrote:
The harmonia wiki does not seem to have much content.
http://harmonia.terrainformatica.com/pmwiki.php/Harmonia
oh btw, this is the project's home page, it still has contents.
http://harmonia.terrainformatica.com/
The wiki pages seem to be back-up now.
|
|