[gui4gl-devel] Re: Aanpassingen van gisteren teruggedraaid

  • From: "Frank van Puffelen" <Frank.vanPuffelen@xxxxxxxxxxxxxx>
  • To: <gui4gl-devel@xxxxxxxxxxxxx>
  • Date: Mon, 15 Dec 2003 13:28:44 +0100

Waarom moet je tijdens de constructie de FQN al weten?

-----Original Message-----
From: Quintesse 
Sent: maandag 15 december 2003 13:22
To: gui4gl-devel@xxxxxxxxxxxxx
Subject: [gui4gl-devel] Aanpassingen van gisteren teruggedraaid


Ok, de aanpassingen gisteren waarbij de initialisatie van theme
proeprties in widgets uit de constructor werd gehaald is weer
teruggedraaid want het werd gewoon een zooitje.
 
De naam van een Widget kan nu aan de constructor worden doorgegeven en
is niet te veranderen.
 
Het probleem waar ik nu mee zit is dat de naam niet het volledide pad is
en dat om het volledige pad te weten te komen er een method is
getFullName() die recursief de hierarchie omhoog loopt om alle namen aan
elkaar te plakken (met punten ertussen). Maar op het moment dat een
Widget wordt gemaakt zit ie nog niet in de hierarchie.
 
Ik zie hiervoor 2 oplossingen:
 
1. geef aan alle constructors naast de naam ook de parent door. Dit
heeft als nadeel dat er dus een impliciete "parent.add(this)" gedaan zal
moeten worden in de constructor.
 
2. geef als naam al een FQN (Fully Qualified Name) door. Om die te
krijgen zal een CompoundWidget dus z'n eigen FQN voor die van z'n
sub-widgets moeten plakken en heeft als nadeel dat je dan niet meer
makkelijk iets kunt doen als CompoundWidget.getChildByName("valueLabel")
 
Ik neig zo langzamerhand naar optie 2 omdat ik die impliciete add echt
niet fijn vind, maar je eigen hierarchie moeten opgeven in de naamgeving
terwijl die af te leiden is uit de widget hierarchie vind ik wel jammer.
 
Nog enig commentaar voordat ik toch maar optie 2 doe?
 
-Tako




BackStream(R)
Willem de Zwijgerlaan 350-352
1055 RD Amsterdam
The Netherlands
tel. +31 20 386 8365
fax +31 20 386 8948 

Post Office Address: 
Postbus 58385
1040 HJ Amsterdam

BackStream: The Digital Delivery Company
www.backstream.com

This e-mail and any attachment may contain confidential and privileged material 
intended for the addressee only. If you are not the addressee, you are notified 
that no part of the e-mail or any attachment may be disclosed, copied or 
distributed, and that any other action related to this e-mail or attachment is 
strictly prohibited, and may be unlawful. If you have received this e-mail by 
error, please notify the sender immediately by return e-mail, and delete this 
message. BackStream, its subsidiaries and/or its employees shall not be liable 
for the incorrect or incomplete transmission of this e-mail or any attachments, 
nor responsible for any delay in receipt.

Other related posts: