[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
that.
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.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.
signature.asc
Description: Digital signature