Aptivi - Stable Manuals
ProjectsWebsiteBlog
Terminaux 7.0 Beta 1 - Manual
Terminaux 7.0 Beta 1 - Manual
  • Welcome!
  • Breaking changes
    • API v1.0
    • API v2.0
    • API v3.0
    • API v4.0
    • API v5.0
    • API v6.0
    • API v7.0
  • Usage
    • Preface
    • Console Tools
      • Console Checker
        • Console Size Requirements
      • Image Rendering
        • Icons
      • Console Writers
        • Individual Writers
        • Cyclic Writers
          • Geometric Shapes
          • Charts
          • Text
          • Artistic
          • Progress Bars
          • Lists and Calendars
          • Miscellaneous
        • Informational Boxes
      • Textual UI
        • Interactive TUI
        • Console Screen
        • Console Resize Listener
        • VT Sequences
      • Console Wrapper
      • Console Colors
      • Color Templates
      • Presentation System
      • Console Extensions
      • Nerd Fonts
      • Terminal Info
      • Test Fixtures
      • Terminal Structures
      • Console Logging
    • Input Reader
      • Shells
        • Shell Structure
          • Help System
          • Command Parsing
          • Command Information
          • Command Switches
          • Shell Presets
          • Command Aliasing
      • Other Input
        • Keybindings
        • Choice-based inputs
        • Editors and Viewers
        • Figlet Font Selector
        • Color Wheel
        • Spinner Selector
        • Input Modules
      • Reader State
      • Reader Settings
      • Syntax Highlighting
      • Pointer Events
    • Color Sequences
      • Color Model Conversions
      • Color Model Parsing
      • Interop with System.Drawing.Color
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
  • How to present
  • Controls
  • Input
  • Appearance
Edit on GitHub
  1. Usage
  2. Console Tools

Presentation System

Presenting your things to the kernel!

This API provides you the presentation system used for presenting something to your users in the full-screen view. It's like a presentation in steroids.

How to present

To present your presentation to your users, you must implement a Presentation class instance, which must assign the following variables in the constructor:

  • Name

    • Presentation name

  • Pages

    • Presentation pages (List of PresentationPage instances)

To implement the PresentationPage instances, you must call its constructor with the following variables:

  • Name

    • Presentation page name

  • Pages

    • Presentation page elements (List of IElement instances)

To implement the page elements, make new instances of the elements. Base elements that Nitrocid KS implements are:

  • TextElement

    • Static text.

    • The first argument in the element Arguments is the string to be printed.

  • DynamicTextElement

    • Dynamic text.

    • The first argument in the element Arguments is the action to which it generates the string, for example, TimeDateRenderers.Render().

You can also make your custom IElement in your code, and no registration is needed.

Controls

The presentation viewer has the following controls:

  • ENTER / Left-click (mouse)

    • Advances to the next page

  • ESC

    • Bails out from the presentation

    • Has no effect on kiosk and modal presentations

Input

In addition to the presentation elements, you can also add input to your presentation to interact with your users more. Just create a new instance of the PresentationInputInfo class and provide the title, the description, and a new instance of the input module class that implements the InputModule class.

internal static PresentationInputInfo input =
    new("Second multiple choice", "Asks the user to select one or more of the names (larger)",
        new MultiComboBoxModule()
        {
            Name = "Second multiple choice",
            Description = "Ultricies mi eget mauris pharetra sapien et ligula:",
            Choices = GetCategories(data2)
        }, true
    );

Then, in the PresentationPage constructor, you must add your input instance to the second argument that represents an array of InputInfo class instances, like this:

new PresentationPage("Fifth page - Debugging choice input",
    [
        new TextElement()
        {
            Arguments = [
                "Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin."
            ]
        },
    ],
    [
        input2,
        input3,
    ]
),

In order to be able to get the input, it's recommended to put the PresentationInputInfo instances in their own variables so that you can act according to the input value.

You can also specify whether the input is required in the constructor. Currently, the input is not required, but you can pass true to the fourth argument to make it required, such as in the example above.

The presentation system checks the page to see if there are any input instances. If true, you'll be presented with an informational box telling you to select an input to fill. The asterisk next to the number denotes the required input. This means that users should fill in such input before being able to go on. Those without the asterisk means that it's fully optional.

To learn more about input modules, consult the below page:

Input Modules

Appearance

You can customize how your slideshow looks using the following properties:

  • BorderSettings: Customizes your presentation's borders

  • FrameColor: Customizes your presentation's border frame color

  • BackgroundColor: Customizes your presentation's background color