User Interface / Widgets / Panels / Panels Overview
In This Topic
    Panels Overview
    In This Topic

    Panels are collections of widgets. You typically use panels to arrange or otherwise organize other widgets. All types of panels derive from the base NPanel class. Depending on whether the panel uses the Nevron Layouts to arranges the contained widgets or not, the panels are classified as:

     Simple Panels

    These are panels that do not use the Nevron Layouts to arrange the contained widgets. NOV provides the following simple panels:

    • NUserPanel - simply a collection of other widgets. Used when you do not want the parent widget to perform any arrangement on its child widgets (i.e. allows you to absolutely position the child widgets). See User Panel for more info.
    • NSingleVisiblePanel - a panel that displays only one of its child widgets at a time. See Single Visible Panel for more info.
     Layout Panels

    These are panels that you the Nevron Layouts to arrange the contained widgets. Because of that the layout panels closely follow the hierarhcy of the Nevron Layouts:

    figure 1. Layout Panels Class Diagram.

    As seen from the class diagram all layout panels derive from the NLayoutPanel abstract class that has two generic type parameters:

    • TLayout - is constrained to be of Nevron.Nov.Layout.NBoxLayout type.
    • TChildren - is constrained to be of NWidget type.

    The layout that the panel uses to arrange its children is accessible from the NLayoutPanel-GetLayout protected method.

    Typically a layout panel will have properties that duplicate the properties of the respective layout that the panel aggregates - for example the NTableFlowPanel has a MaxOrdinal property, the value of which is applied to the MaxOrdinal property of the NTableFlowLayout that the panel aggregates. This duplication was implemented, because we wanted to allow expressions and styling on certain layout properties (remember that layouts are attributes, not elements like panels).

    Because each layout panel actually uses a NOV Layout, we recommend you get acquainted with them. See Layouts Overview for more info.
    See Also