/*
 *    @(#)21 1.1 9/28/93 11:45:24 [10/14/94] (c)IBM Corp. 1992
 */

// This file was generated by the SOM Compiler.
// FileName: colblk.id2.
// Generated using:
//     SOM Precompiler spc: 6.9
//     SOM Emitter emitidl.dll: 6.8

//  This class is adapted from the book
//    Class Construction in C and C++, Object Oriented Fundamentals
//    by Roger Sessions, Copyright (c) 1992 Prentice Hall.
//  Reprinted with permission.

#ifndef colblk_idl
#define colblk_idl

#include "ll.idl"

interface columnBlock : linkedList
{
  void cbInit(in long newColumns, 
              in long newHeight, 
              in long newWidth);
  
  //   Initialize a new columnBlock.

  long cbGetColumnWidth();
  
  //  Returns the width of a column (in characters).

  long cbLinesLeft();
  
  //  Returns TRUE if there is room for at least one more
  //  line in the columnBlock, FALSE otherwise.


#ifdef __PRIVATE__

  void cbPrintBlanks(inout FILE output, 
                     in long nblanks);
  
  //	Prints blank characters to the output file.


#endif


#ifdef __SOMIDL__
  implementation {

    releaseorder: cbInit,cbGetColumnWidth,cbLinesLeft,cbPrintBlanks;

    //# Class Modifiers
    callstyle = oidl;
    local; 
    filestem = colblk;



    //# Internal Instance Variables
    long columnWidth;              

    //# Method Modifiers
    llAddTail: override;
    print: override;
    somInit: override;
    somUninit: override;
    somDumpSelfInt: override;

    //# Data Modifiers
    columnWidth: ;

#ifdef __PRIVATE__

    //# Data Modifiers

#endif

  };
#endif /* __SOMIDL__ */
};

#endif  /* colblk_idl */
