YCLIMP
Yandex Command Line Interface Music Player
Loading...
Searching...
No Matches
ListDialogElement< ElementPtr > Class Template Reference

The ListDialogElement class. More...

#include <ListDialogElement.hpp>

Inheritance diagram for ListDialogElement< ElementPtr >:
Collaboration diagram for ListDialogElement< ElementPtr >:

Classes

struct  LocalBounds

Public Types

enum class  Type { ReadOnly = 0 , OneChoice , MultipleChoice }

Public Member Functions

 ListDialogElement (const Recti &bounds, std::string text, std::vector< ElementPtr > elements, Type type, std::vector< std::string > &&options={CANCEL_OPTION, OK_OPTION})
virtual void Draw () const override
virtual void HandleResizeEvent (const Recti &newRect) override
virtual void HandleRawInput (int rawInputChar) override
virtual void InputUp () override
virtual void InputDown () override
virtual void InputLeft () override
virtual void InputRight () override
virtual void InputEnter () override
virtual void InputTab () override
Public Member Functions inherited from DialogElement
 DialogElement (const Recti &bounds)
virtual void SetFinished (std::string finishedStatus)
virtual bool IsFinished () const
virtual const std::string & GetFinishedStatus () const
void SetData (const std::variant< std::vector< std::size_t >, std::string > &data)
virtual std::variant< std::vector< std::size_t >, std::string > GetData () const

Detailed Description

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
class ListDialogElement< ElementPtr >

The ListDialogElement class.

  • Consist of 3 visual elements:
  1. Text area
  2. List area
  3. Confirm area
  • Used to:
    1) Confirm list of elements (ReadOnly mode)
    2) Choose one element from the list (Once choice mode)
    3) Choose multiple elements from the list (Multiple choice mode)

Member Function Documentation

◆ Draw()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::Draw ( ) const
overridevirtual

Implements DialogElement.

◆ HandleRawInput()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::HandleRawInput ( int rawInputChar)
overridevirtual

Implements DialogElement.

◆ HandleResizeEvent()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::HandleResizeEvent ( const Recti & newRect)
overridevirtual

Implements DialogElement.

◆ InputDown()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputDown ( )
overridevirtual

Implements DialogElement.

◆ InputEnter()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputEnter ( )
overridevirtual

Implements DialogElement.

◆ InputLeft()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputLeft ( )
overridevirtual

Implements DialogElement.

◆ InputRight()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputRight ( )
overridevirtual

Implements DialogElement.

◆ InputTab()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputTab ( )
overridevirtual

Implements DialogElement.

◆ InputUp()

template<typename ElementPtr>
requires PtrAndNameIsString<ElementPtr>
void ListDialogElement< ElementPtr >::InputUp ( )
overridevirtual

Implements DialogElement.


The documentation for this class was generated from the following files: