[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

825.0. "Tightening up the display" by QUIVER::CIARFELLA (Paul Ciarfella dtn 227-3548) Thu Mar 21 1991 20:57

	Hi, 

	In my AM I've defined a record type for a type of frame I want to
	print out.  When the record is displayed there is a rather large
	and ugly gap ... oh, its easier to see it below ...

          Last Directed Beacon Received = (              DA = 01-80-C2-00-01-00,
                                                         SA = 08-00-2B-14-14-7B,
                                                        UNA = 08-00-2B-13-DB-72
)
					   ^^^^^^^^^^^^^
	Is there anything I can do to tighten up the space above?  

	Paul C


    
T.RTitleUserPersonal
Name
DateLines
825.1looking at it for V1.2 - QAR 561 in MCC_INTERNALRAMPAL::DITMARSPeteFri Mar 22 1991 16:1634
we'll be looking at tweaking the record output format for V1.2 of FCL, both
for readability and to address the fact that multiple level records easily 
break FCL by pushing the indentation level past the available screen width.

This is the suggested new output format for a structure that has a record
containing a record containing a record  containing a record:

                         WeeklySchedule = (
                                 starttime =  5-MAR-1991 08:00:00.82,
                                   endtime =  5-MAR-1991 08:00:00.93,
                                  weekmask = (
                                   daysofweek = ( Monday,
                                                  Sunday ),
                                 Intvlsofdays = { (
                                             start = (
                                                 hour = 8,
                                               minute = 0 ),
                                               end = (
                                                 hour = 18,
                                               minute = 0 ) ) } ) )

This is the current output format for the above record (assuming you have your
terminal width set to 132... otherwise, FCL's current bug will cause it to
print blank lines forever):

                         WeeklySchedule = (       starttime =  5-MAR-1991 08:00:00.98,
                                                    endtime =  5-MAR-1991 08:00:00.07,
                                                   weekmask = (      daysofweek = ( Monday,
                                                                                    Sunday ),
                                                                   Intvlsofdays = { (           start = (            hour = 8,
                                                                                                                   minute = 0 ),
                                                                                                  end = (            hour = 18,
                                                                                                                   minute = 0 ) ) }
) )
825.2possible user confusion?ASD::HOWERHelen HowerMon Mar 25 1991 13:2732
Thank you!  But (there's always a but, right? :-) the new format is still a bit
confusing, since the nesting can get obscured by the positions of the field 
names....  It looks like you're proposing to implement nested structure by
indenting the equal sign and value each time, then right justifying the field 
names.  Unfortunately, those names sometimes align to suggest a (different)
structure, and the equal signs get buried in all the text....

Would it help if the equal signs were aligned, and both data and field names 
were indented on either side to reflect nested datatypes?  (Hmm, guess that 
would mean that fieldnames would have to be left-justified, since you don't want
to have to look ahead to figure out the longest fieldname....) Anyway.  
Reformatting that example yet again, it might look like:

WeeklySchedule                           = ( 
  starttime                              =   5-MAR-1991 08:00:00.82,
  endtime                                =   5-MAR-1991 08:00:00.93,
  weekmask                               =   ( 
    daysofweek                           =     ( Monday,
                                                 Sunday ),
    Intvlsofdays                         =     { ( 
      start                              =         (
        hour                             =           8,
        minute                           =           0 ),
      end                                =         ( 
        hour                             =           18,
        minute                           =           0 ) ) } ) )

Unfortunately, this still doesn't eliminate the problem running out of available
screen width to display values, since it still indents a couple spaces for each 
record, sequence, and set; a sufficiently byzantine structure (or large INDENT 
value) could still cause problems....  What will happen then?
		Helen
825.3probable user confusionTOOK::DITMARSPeteMon Mar 25 1991 15:4229
Hi,

Something like you've suggested involves a major change in FCL's philosophy
of outputting arguments.  FCL's output format will eventually be re-worked
no doubt, but not in the next release.  In fact, I've just been told that even
the work I've described in .1 might not make it into the V1.2 schedule.

>Unfortunately, this still doesn't eliminate the problem running out of available
>screen width to display values, since it still indents a couple spaces for each 
>record, sequence, and set; a sufficiently byzantine structure (or large INDENT 
>value) could still cause problems....  What will happen then?

Basically, the indentation level will "wrap", so instead of trying to left
justify output at column 83 on an 80 column screen, FCL will try to left justify
it at column 3.  (This much of the QAR I mentioned in .1 will definitely be
fixed for V1.2.  Currently, FCL prints blank lines forever when it gets into
this situation.)

Will this be confusing?  Probably.  But I think it will be decipherable.
If you have a better suggestion on what to do when we run out of screen 
real-estate, feel free to suggest.  Another alternative would be to allow the
user to "page" right and left, i.e. let the output exceed the width of the 
device and let the user move the screen/viewport to view the data.  This is
non-trivial to implement and use, and arguably less desireable than the "modulo"
indentation level wrapping approach.

Hopefully, these very complex data structure cases won't crop up very often.

Pete
825.4Simplify the attribute's type insteadCAPN::SYLORArchitect = Buzzword GeneratorTue Apr 16 1991 15:017
In my experience, defining that complex a data type is almost always wrong.

I suggest you go back and revisit the reasons why you needed a record of
records. A subentity or a collection of attributes often can do the same
function, and are a lot clearer to the user.

Mark