'
'Class description:
'
!short:UpABrowse class structure:
Class UpABrowse:
~~~~~~~~~~~~~~~~
The same as the class ABrowse, but exists only as an active task.
The background switching causes the finishig of the task (object).

Common use:
~~~~~~~~~~~
LOCAL OBJECT Ar OF UpABrowse                   //object is created

Ar:Init()                                      //and initialised

AAdd(Ar:Arr,{"field1.1","field1.2","field1.3"}}   //ads
AAdd(Ar:Arr,{"field1.2","field2.2","field2.3"}}   //3 columns
AAdd(Ar:Arr,{"field1.3","field3.2","field3.3"}}   //for editation (to array Arr)

//3 columns are added to Ar object
Ar:AddBlock(,"column1",,{|x|if(nil==x,Ar:Arr[Ar:N,1],Ar:Arr[Ar:N,1]:=x})
Ar:AddBlock(,"column2",,{|x|if(nil==x,Ar:Arr[Ar:N,2],Ar:Arr[Ar:N,2]:=x})
Ar:AddBlock(,"column3",,{|x|if(nil==x,Ar:Arr[Ar:N,3],Ar:Arr[Ar:N,3]:=x})

Ar:Process()   //editation
Ar:Done()      //finishing of the task

Source code is in C_UpAbro.prg

!seealso: c_browse.ngo:Browse c_dbrows.ngo:DBrowse c_browse.ngo:Browse c_task.ngo:Task c_box.ngo:Box c_color.ngo:Color ob_class.ngo:"Class hierarchy"

!short:~~~~~~~~~~~~~~~~~~~~~~~~~
!short:create class UpABrowse from ABrowse
!short:  export:
!short:  method New=UpABrowseNew  //o:New() --> self
^BUpABrowse:New()^N: public: return self
  Object is filled with default values, predcessor variable modified:

  ^UUpABrowse:UpFlag^N: override: public: logical
    Default value of herited instvar variable is redefined on new value true.

!short:  endclass

