'
'Class description:
'
!short:FInfo class structure:
Class FInfo:
~~~~~~~~~~~~
This class appends the class Info with viewing of the big text file.

Common use:
~~~~~~~~~~~
If you want to enable the file selection you can use the only program line:

  FInfoShow("*.txt")   //viewing of any file of the *.txt set.

or if you want to view the specific file you can use following two lines
of program:

  LOCAL OBJECT Fi OF FInfo
  Fi:Init("MyFile.txt")   //could be GoodInit(...), parameters (if any)

Source code is in C_FInfo.prg

!seealso: c_box.ngo:Box c_info.ngo:Info c_task.ngo:Task c_color.ngo:Color ob_class.ngo:"Class hierarchy" ob_funct.ngo:FInfoShow

!short:~~~~~~~~~~~~~~~~~~~~~~
!short:create class FInfo from Info
!short:  export:
!short:  var BigFile  //false
^BFInfo:BigFile^N: private: logical
  This variable serves as help information if the file is shorter than the
  volume of instvar variable Buff or if it is a need to read dynamicaly the
  file part after part to the buffer.
  (FInfo enables unlimited long file view)

!short:  var FHandle  //0
^BFInfo:FHandle^N: private: numeric
  The file acces variable (file handle) is stored here for text file read.

!short:  var FSize    //0
^BFInfo:FSize^N: read-only: numeric
  Viewed file size.

!short:  method New=FInfoNew          //o:New() --> self
^BFInfo:New()^N: public: return self
  Fills the object with default values.

!short:  method Init=FInfoInit        //o:Init(FName,WinName,R,C,Rs,Cs,Clr,Shd) --> true/false
^BFInfo:Init(FName,WinName,R,C,Rs,Cs,Clr,Shadow)^N: public: return true/false
  The FName parameter must be set, if there is no such file the method
  returns false otherwise returns the object as file viewing task.
  Other parameters are past to parent set ^UBox^N, so for their description
  look at the method Box:Init(...)

!short:  method GoodInit=FInfoGoodInit//o:GoodInit(FNam,WNam,R,C,Rs,Cs,CSize,Clr,Shd) --> true/false
^BFInfo:GoodInit(FName,WinName,R,C,Rs,Cs,CurSize,Clr,Shadow)^N: public:
  return true/false
  It is the same as FInfo:Init(...), but by window positioning is used
  the ^UGoodInit^N method defined in parent class Box. For the parameter
  FName are the same rules valid and for other parameters look at
  Box:GoodInit(...)

!short:  method Print=FInfoPrint      //o:Print() --> true
^BFInfo:Print()^N: public: return true
  Sends the file to print by using the dos command PRINT.
  Remember that resident portion of dos command PRINT must be loaded into
  memory before our program.

!short:  method VProcess=FInfoVProcess//o:VProcess() --> true
^BFInfo:VProcess()^N: private: return true
  Method VPRocess() is appended from herited class Info with the dynamicaly
  reading of text from viewed file.

!short:  method Done=FInfoDone        //o:Done() --> true/false
^BFInfo:Done()^N: public: return true/false
  Ends the task and closes the viewed file.

!short:  endclass

