[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Implicit GUI transformations [was: Re: data_out return status]

From: John Darrington
Subject: Implicit GUI transformations [was: Re: data_out return status]
Date: Mon, 21 Nov 2005 08:42:20 +0800
User-agent: Mutt/1.5.9i

On Sun, Nov 20, 2005 at 11:12:17AM -0800, Ben Pfaff wrote:
     I'm nervous about this as a transformation.  One reason is that
     changing a variable to a "long string" type could require moving
     it around in the case array.  That'd be okay if transformations
     before the "change" looked in the old location and
     transformations after it looked in the new location, but that's
     not the current behavior--a lot of transformations will just keep
     a pointer to the `struct variable' and look up `fv' through that,
     so behavior would be unpredictable in general.
     Another reason is interaction with DO IF and LOOP.  Conversion
     must happen exactly once, but DO IF and LOOP could interfere with
     However, as a procedure it would make sense in my opinion.  It
     could be another subcommand on MODIFY VARS, for example.  (MODIFY
     VARS sometimes just updates the dictionary and other times acts
     as a procedure, for similar reasons.)
     You can already accomplish something similar, however, with
     multiple commands, e.g. to convert string to numeric
             COMPUTE x2 = NUMBER(x, F8.2).   /* or whatever format
             RENAME VARS x2=x.
     (Other properties of the variable, like value labels, wouldn't be
     propagated, which might be a reason to add a new way to do it.)

I probably meant "procedure" rather than "transformation" (I'm not too
sure what the difference actually is).   The main point is that a lot
of the functionality to do with adding/deleting/renaming/changing
variables which I've been trying to do in the gui, ought actually to
be done in the backend.  The gui should just pass  the request for the
transformation/procedure, and update it's screen to reflect the
current dictionary and casefile.  But it means that there might be
several new transformations/procedures which are not listed as such in
the manual, and not available through "syntax".

     Actually, what *should* happen to value labels in converting
     between variable types?

Hadn't really thought about it.  My guess is that they get dropped.
I'll investigate a bit further. 

Anyway, in view of the above, I think I'll leave off that aspect of
psppire development until Phase 2, and for now work a bit more on the
eye candy.

How are people finding the gui now?  I've been able to load and edit a
number of 3rd party system files which is encouraging.


PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See or any PGP keyserver for public key.

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]