RhinoCommon API
RhinoPageViewPageIsActive Property |
Returns true if the page is active, rather than any detail view.
This occurs when the MainViewport.Id == ActiveViewportID.
Namespace: Rhino.Display
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0

Property Value
Type: Boolean
partial class Examples { public static Rhino.Commands.Result ActiveViewport(Rhino.RhinoDoc doc) { Rhino.Display.RhinoView view = doc.Views.ActiveView; if (view == null) return Rhino.Commands.Result.Failure; Rhino.Display.RhinoPageView pageview = view as Rhino.Display.RhinoPageView; if (pageview != null) { string layout_name = pageview.PageName; if (pageview.PageIsActive) { Rhino.RhinoApp.WriteLine("The layout {0} is active", layout_name); } else { string detail_name = pageview.ActiveViewport.Name; Rhino.RhinoApp.WriteLine("The detail {0} on layout {1} is active", detail_name, layout_name); } } else { string viewport_name = view.MainViewport.Name; Rhino.RhinoApp.WriteLine("The viewport {0} is active", viewport_name); } return Rhino.Commands.Result.Success; } }
Partial Class Examples Public Shared Function ActiveViewport(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result Dim view As Rhino.Display.RhinoView = doc.Views.ActiveView If view Is Nothing Then Return Rhino.Commands.Result.Failure End If Dim pageview As Rhino.Display.RhinoPageView = TryCast(view, Rhino.Display.RhinoPageView) If pageview IsNot Nothing Then Dim layout_name As String = pageview.PageName If pageview.PageIsActive Then Rhino.RhinoApp.WriteLine("The layout {0} is active", layout_name) Else Dim detail_name As String = pageview.ActiveViewport.Name Rhino.RhinoApp.WriteLine("The detail {0} on layout {1} is active", detail_name, layout_name) End If Else Dim viewport_name As String = view.MainViewport.Name Rhino.RhinoApp.WriteLine("The viewport {0} is active", viewport_name) End If Return Rhino.Commands.Result.Success End Function End Class
Python
import Rhino import scriptcontext def ActiveViewport(): view = scriptcontext.doc.Views.ActiveView if view is None: return if isinstance(view, Rhino.Display.RhinoPageView): if view.PageIsActive: print "The layout", view.PageName, "is active" else: detail_name = view.ActiveViewport.Name print "The detail", detail_name, "on layout", view.PageName, "is active" else: print "The viewport", view.MainViewport.Name, "is active" if __name__ == "__main__": ActiveViewport()
