comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Access type to member procedure of instance (Object Oriented programming in Ada)
Date: Mon, 3 Dec 2012 23:15:50 +0100
Date: 2012-12-03T23:15:50+01:00	[thread overview]
Message-ID: <nodba9gu133t.1c6wt6wd4s33w$.dlg@40tude.net> (raw)
In-Reply-To: ea14b7bd-8ff9-4334-bd57-b2c94cc9ce3d@googlegroups.com

On Mon, 3 Dec 2012 12:21:45 -0800 (PST), ake.ragnar.dahlgren@gmail.com
wrote:

> However, I am currently toying with
> the idea of making Gtkada applications using Glade-3 which is very
> similiar but a little bit different.

My condolences...
 
>> 2. What is the problem?
>> 
>> Why handling Quit signal requires MVC, especially, because there is no such
>> 
>> signal, AFAIK?
> 
> There are two problems that together would require one to structure the
> code as I have done.
> 
> 1) Automated tests (AUnit). The code should be testable.

GUI is non-testable, too many states, some states are ill-defined, some are
real time dependent.

> Perhaps one would
> like to have a test that verifies that Gtk.Main.Main_Quit is called when
> the "destroy" event of Gtk_Object_Record is triggered from the main window
> and so on. To make the code testable one needs to separate the GUI code
> from the logic somehow.

That would be a GTK test = not a test of your code.

> 2) Perhaps one would like two have two views who are "connected" to the
> same controller instance (code reusability).

It is no problem at all. In the sample I provided the event handler takes
the window to destroy as a parameter.

> Not that I have in mind an actual real world application that would
> require two identical windows, but of theoretical interest. It is possible
> in other languages, and I'm thinking why not Ada?

It is already the way you wanted.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-12-03 22:16 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-19  9:59 Access type to member procedure of instance (Object Oriented programming in Ada) ake.ragnar.dahlgren
2012-11-19 11:13 ` Georg Bauhaus
2012-11-19 11:39 ` Brian Drummond
2012-11-20 11:43   ` Brian Drummond
2012-11-20 21:57     ` Randy Brukardt
2012-11-19 13:03 ` sbelmont700
2012-11-19 16:18 ` Adam Beneschan
2012-11-19 17:02   ` Peter C. Chapin
2012-11-19 18:23     ` Adam Beneschan
2012-11-19 20:57       ` Peter C. Chapin
2012-11-19 21:26       ` Dmitry A. Kazakov
2012-11-19 22:19         ` Adam Beneschan
2012-11-20 10:12           ` Dmitry A. Kazakov
2012-11-20 21:51             ` Randy Brukardt
2012-11-21  8:24               ` Dmitry A. Kazakov
2012-11-21 22:19                 ` Randy Brukardt
2012-11-20 10:59     ` Brian Drummond
2012-11-19 20:22 ` ake.ragnar.dahlgren
2012-11-20 11:16   ` Brian Drummond
2012-11-19 20:52 ` ake.ragnar.dahlgren
2012-11-19 21:56   ` Dmitry A. Kazakov
2012-11-22  9:49     ` ake.ragnar.dahlgren
2012-11-19 22:13   ` sbelmont700
2012-11-19 23:59 ` Randy Brukardt
2012-11-20  0:05   ` Randy Brukardt
2012-11-20  1:00     ` Adam Beneschan
2012-11-20 21:38       ` Randy Brukardt
2012-11-20 23:43         ` Adam Beneschan
2012-11-21 22:12           ` Randy Brukardt
2012-11-22  1:59             ` Adam Beneschan
2012-11-29  2:43               ` Randy Brukardt
2012-11-20  0:52   ` Adam Beneschan
2012-11-20 21:34     ` Randy Brukardt
2012-11-20 11:28   ` Brian Drummond
2012-11-20 14:27     ` Georg Bauhaus
2012-11-20 15:52     ` Adam Beneschan
2012-11-22  9:47 ` ake.ragnar.dahlgren
2012-11-22 10:25   ` Dmitry A. Kazakov
2012-12-02 20:42     ` ake.ragnar.dahlgren
2012-12-03 11:21       ` Dmitry A. Kazakov
2012-12-03 20:21         ` ake.ragnar.dahlgren
2012-12-03 22:15           ` Dmitry A. Kazakov [this message]
2012-12-25 21:51           ` Gustaf Thorslund
2012-12-26 18:11             ` ake.ragnar.dahlgren
2012-11-22 12:13   ` Brian Drummond
2012-12-03 16:17     ` ake.ragnar.dahlgren
2012-12-03 21:56       ` Brian Drummond
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox