Display
Previous  Top  Next

:Display - Display Object.

Attributes

EXPORTED READONLY  

Datatype

(NIL) or an XbpPartHandler()-based GUI object, like an XbpStatic(), XbpDialog(), XbpTreeView(), XbpMLE() that must have either a :SetCaption(), :SetTitle(), or :SetData() method.  

Description

This instance variable can only be set by the :SetDisplayObject() method, and is initially set to NIL. It can be queried/retrieved from outside the Class, but only set through the above mentioned method. This object MUST have either a :SetCaption(), SetTitle(), or SetData() method, and also must have a :Status() method that returns XBP_STAT_CREATE, or nothing will be displayed!  
 
If the :Display object is not set to NIL and is a valid object, it will be automatically used by the XbZLibZip object to display progress updates during time-consuming operations, including:  
 
·Adding/Updating of Multiple Files/Entries to the Zip File with the :AddDir() method.  
·Extracting of Multiple Files/Entries from the Zip File with the :ExtractAll() method.  
·Testing of Multiple Files/Entries of the Zip File with the :Test() method.  
·Searching for Orphaned Files/Entries in the Zip File with the :Test() method.  
·Correcting of Multiple Files/Entries in the Zip File with the :Fix() method.  
 
Depending on the type of object used, the following display options are available:  
 
·If the :Display object has a :SetCaption() method -- such as XbpStatic-derived objects have -- it will be used to set its :Caption to the text string that should be displayed. Even if the :Display object also has a :SetTitle() or :SetData() method, they will be ignored.  
 
·Otherwise, if the :Display object has a :SetTitle() method -- such as XbpDialog-derived objects have -- it will be used to set its :Title to the text string that should be displayed. Even if the :Display object also has a :SetData() method, it will be ignored.  
 
·Otherwise, if the :Display object has a :SetData() method as well as a :RootItem instance variable -- such as XbpTreeView-derived objects have -- a new (TreeView) Item is added to the :RootItem, then this new Item is selected (with the SetData() method), and its value is set to the text string that should be displayed.  
 
·Otherwise, if the :Display object has a :SetData() as well as an :EditBuffer() and a :SetFirstChar() method, the new text string that should be displayed is added as a new line after the already existing text value, and the new line of text is displayed. This will work fine for XbpMLE-derived objects, but is not too useful for XbpSLE-derived objects, as the :EditBuffer() is not replaced, but appended to.  
 
·Finally, if the :Display object has (only) a :SetData() method, the new text string that should be displayed is set with that method, and the display behavior will depend on the object's implementation.