www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2013/07/22/19:24:14

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sbcglobal.net; s=s1024; t=1374535444; bh=8sWN7sMkVZnMQ0UvgoqGXO6VCkKkaEn8U5zx4ERfe74=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:X-Rocket-Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer; b=GzVF7C1OtY0a2omjvTq27oFFD40Up1BxQNa/vIggEYt2WKgtfHCh0Wx+zqxtmTE7HJZmvOWeEMArx+JBhS36VPOpbF7idSTXKdefdVOLM0jSvFhlkzqmH4W9AtdmVNJPnm980he4u+U9mm842yhx4cOTqUznjbOP7pHq3HqZ39s=
X-Yahoo-Newman-Id: 871472 DOT 99310 DOT bm AT smtp104 DOT sbc DOT mail DOT bf1 DOT yahoo DOT com
X-Yahoo-Newman-Property: ymail-3
X-YMail-OSG: kRvWNSAVM1ki6qLXsdJNqJ8EKgxoq5mG2TJ7l6KHmHVQcnn
VkezvZPnKHZhQt6zTRk7pvzvdIdxXBkQqXef4sOWcN0TqZo8_uF6eb.oD9r6
qnGV80nvVw00WP7yuK0UjsOxLYYA8eutHbKO_oSDBLov1cGNjPCvri7q4nwq
bdM6DZulRVYX.a7W1kFgVdRpagADNdNgHHBkeSjA45xE3g3cMD1gSo_VIRI.
NitzrxX3525S9HiGUaqHAhgVRdGOHLZnYcBHRM9bJpuL1MBxilpU3FgBeH32
4TUzOesxIvL4f6.nIsaVwzEbugIMA_nzSgC0fCoV887K8LRiR3L2ZRpi1THW
3cY9vVB4p3wUNaFiG9LI6pLBM6BXy93ddCxr.x0PW428OqMzL7duh7dbkmqL
AF9VZuDzPXLt0OqU.uTNip7x.i.A.8nc4BAH4kHrqEj6AXaImBBTgljxdd.h
Od6xRS2txvWkj6svThMRP6mYuCfpWZ8AIXrN3mBbS6MLNHKsSeBEBtNZrXzW
ovmRhOTvDu39IpHYR5ABybTRfc0BOisKDlvEZQHI0KE.pIY6lZV0aitNB5C6
M_FXqyMYjoNtvpoSUIJNE3Nz69smAEApALJWuvHQRuPo33dimAn7PWnb0KsT
3.9OiLfxlU9tD
X-Yahoo-SMTP: b8jVkbOswBAqZ4BhECp7nxPJUfTGEnEGv_G4qgQeZMeAbA--
X-Rocket-Received: from [192.168.1.66] (ehennes AT 69 DOT 109 DOT 30 DOT 233 with plain)
by smtp104.sbc.mail.bf1.yahoo.com with SMTP; 22 Jul 2013 16:24:04 -0700 PDT
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
Subject: Re: [geda-user] Non-modal Dialogs
From: Edward Hennessy <ehennes AT sbcglobal DOT net>
In-Reply-To: <20130722222617.6c1528c1@Parasomnia.thuis.lan>
Date: Mon, 22 Jul 2013 16:24:03 -0700
Message-Id: <64C5494E-592F-43FA-A513-EB60B54E361E@sbcglobal.net>
References: <2174C2C2-6FAF-4544-A4C0-5FDBD564A6FB AT sbcglobal DOT net> <20130722222617 DOT 6c1528c1 AT Parasomnia DOT thuis DOT lan>
To: geda-user AT delorie DOT com
X-Mailer: Apple Mail (2.1508)
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Bas,

Thank you for the article. Here is another pattern designed to improve
testability. It strives for the same philosophy, to remove logic from
the dialog box, but in a different way.

http://martinfowler.com/eaaDev/PresentationModel.html

The immediate problem I'm up against is identifying a mechanism for
property change notification.

For property change notification, I prefer gobject signals. However,
gobject is cumbersome and I'm not sure all developers would be onboard
with that direction.

The Humble Dialog Box implementation closely resembles the observer
pattern from the Gang of Four. This system would be another option.

I also need to look at the weak references already in the code. And of
course, there is also the callback function pointer. ;)

Cheers,
Ed

On Jul 22, 2013, at 1:26 PM, Bas Gieltjes <bas AT gieltjes DOT dds DOT nl> wrote:

> 
> Hello Edward,
> 
> See the attached paper "The Humble Dialog Box" by Michael Feathers that
> describes a dialog box implementation. The implementation separates the
> data (model) and view, when the data changes the dialog box is
> updated. I hope that the paper is not too object oriented.
> 
> You know how the current implementation of the dialog boxes and are
> better able to guess if the paper is a useful start. 
> 
>> Implementation of non-modal dialogs requires some form of property
>> change notification. This way, if an object property gets changed,
>> either through the GUI or scripting, the dialog box widgets stay in
>> sync with the value of the property. How should property change
>> notification be implemented in gschem/libgeda?
> 
> Bas
> -- 
> <TheHumbleDialogBox.pdf>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019