/// <summary>
        /// Called when the selected objects list changes, return true if the
        /// object list contains one or more object the page can modify.
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public virtual bool ShouldDisplay(ObjectPropertiesPageEventArgs e)
        {
#pragma warning disable 618
            return(ShouldDisplay((RhinoObject)null));

#pragma warning restore 618
        }
        /// <summary>
        /// Called on the active page after the selected objects list has changed
        /// to notify the page to initialize its content to reflect the new
        /// object list.
        /// </summary>
        /// <param name="e"></param>
        public virtual void UpdatePage(ObjectPropertiesPageEventArgs e)
        {
#pragma warning disable 618
            // Call the deprecated method to avoid breaking the SDK
            InitializeControls(null);
#pragma warning restore 618
        }
        public virtual bool ShouldDisplay(RhinoObject rhObj)
        {
            var e     = new ObjectPropertiesPageEventArgs(this);
            var value = e.IncludesObjectsType(SupportedTypes, AllObjectsMustBeSupported);

            return(value);
        }
        /// <summary>
        /// This method is called when scripting the Rhino Properties command and
        /// choosing this page.
        /// </summary>
        /// <param name="e">
        /// Provides access to the selected object list and document.
        /// </param>
        /// <returns></returns>
        public virtual Commands.Result RunScript(ObjectPropertiesPageEventArgs e)
        {
#pragma warning disable CS0618 // Type or member is obsolete
            // This provides backwards compatibility
            return(RunScript(e.Document, e.Objects));

#pragma warning restore CS0618 // Type or member is obsolete
        }
 internal static ObjectType TypeFilter(Type type)
 {
     return(ObjectPropertiesPageEventArgs.TypeFilter(type));
 }