Macro: Deferred_View

Module location: Dfdafmac.pkg line 70 (view source)

#COMMAND ACTIVATE_VIEW R "AS""FOR" R Register_Object !3 Procedure !1 Send Activate_View to (!3(Self)) End_Procedure #ENDCOMMAND This expects to create a view INSIDE of another object (Like a panel)

    Property Integer !1_obj 0  //track Id of view object

    // used to return the handle to the actual view creating it as needed
    Function !1_Handle Returns Handle
        Handle hoView
        Get !1_Obj to hoView    // Id of the view
        If (hoView=0) Begin    // if not created, create it
            Send Cursor_wait to (cursor_control(Self))
            Gosub Create_!1
            Get !1_Obj to hoView // this time it better be there!
            Send Cursor_ready to (cursor_control(Self))
        End
      Function_Return hoView
    End_Procedure

    Procedure !1
        Handle hoView
        Get !1_Handle to hoView
        Send Activate_View to hoView
    End_Procedure

   [Found ~Found] Begin
     Create_!1:
        Object !4 !5 !6 !7 !8  !9
           Set !1_obj to Self