NDEVR
API Documentation
VLCVideoModelViewer

Editor widget for viewing video models using VLC playback. More...

Inheritance diagram for VLCVideoModelViewer:
[legend]
Collaboration diagram for VLCVideoModelViewer:
[legend]

Public Member Functions

 VLCVideoModelViewer (const DynamicPointer< QTDesignObject > &project, VlcInstance *instance, QWidget *parent=nullptr)
 Constructs a VLCVideoModelViewer.
virtual ~VLCVideoModelViewer ()
 Destroys the VLCVideoModelViewer and releases resources.
virtual bool disableExport () const override
 Returns whether export is disabled for this editor.
bool event (QEvent *event) override
 Handles Qt events for this widget.
void setSubtitle (const String &subtitle)
 Displays the specified subtitle text.
void setupSubtitles ()
 Sets up subtitle display from the associated subtitle file.
EditorShowMode showMode () const override
 Returns the preferred show mode for this editor.
void startMedia ()
 Starts playing the media associated with the design object.
void updatePlaying (bool playing)
 Updates the UI to reflect the current playing state.
virtual void updateValues () override
 Updates the displayed values from the design object.
Public Member Functions inherited from Editor
 Editor (const DynamicPointer< QTDesignObject > &object, QWidget *parent=nullptr)
 Constructs an Editor targeting the given design object.
 Editor (QWidget *parent=nullptr)
 Constructs an Editor with no design object target.
virtual Buffer< QWidget * > bottomOptions ()
 Returns widgets to be placed at the bottom of the editor layout.
virtual StringView customDialogIcon () const
 Returns a custom icon name for the editor dialog, or an empty string if none.
virtual TranslatedString customDialogTitle () const
 Returns a custom title for the editor dialog, or an empty string if none.
Model getModel () const
 Returns the target design object as a Model.
DesignObject getObject () const
 Returns the target design object.
virtual bool isBusy () const
 Returns whether the editor is currently busy performing an operation.
void isBusyStatusChanged ()
 Emitted when the busy status of the editor changes.
virtual bool isHorizontal () const
 Returns whether the editor layout is horizontal.
virtual void moveTargetWithMouse ()
 Initiates interactive mouse-based movement of the target object in the viewport.
void objectUpdatedSignal ()
 Emitted when the target object has been updated.
virtual InterfaceOrientationControllerorientationController () const
 Returns the orientation controller associated with this editor.
virtual Buffer< QWidget * > printableWidgetOptions ()
 Returns option widgets to configure printing for this editor.
virtual Buffer< QWidget * > printableWidgets ()
 Returns the widgets that can be printed from this editor.
virtual void requestScrollEnabled (bool enabled)
 Requests enabling or disabling scrolling within the editor.
virtual void setHorizontal (bool horizontal)
 Sets whether the editor layout is horizontal.
virtual void setReadOnly (bool read_only)
 Sets whether the editor is in read-only mode.
virtual void setTarget (const DynamicPointer< QTDesignObject > &object)
 Sets the design object target for this editor.
virtual void setup (DesignObjectDialog *, const ShowPropertiesSettings &)
 Sets up the editor with a parent dialog and property display settings.
const DynamicPointer< QTDesignObject > & target () const
 Returns the current design object target.

Protected Attributes

VlcInstance * m_instance
 The VLC library instance.
VlcMedia * m_media
 The current VLC media object.
VlcMediaPlayer * m_player
 The VLC media player.
SubtitleFileReaderm_subtitle_reader
 Reader for subtitle files.
VlcWindow * m_window
 The video display window.
Ui::VLCVideoModelViewerUI * ui
 The UI form for the video model viewer.
Protected Attributes inherited from Editor
DynamicPointer< QTDesignObjectm_design_object
 The design object being edited.
bool m_is_read_only = false
 Whether the editor is in read-only mode.
InterfaceOrientationControllerm_orientation_controller
 The orientation controller for this editor.

Additional Inherited Members

Protected Member Functions inherited from Editor
void onDesignObjectDeletedSlot ()
 Slot called when the target design object is deleted.
void onDesignObjectUpdateSlot ()
 Slot called when the target design object is updated.

Detailed Description

Editor widget for viewing video models using VLC playback.

Provides a UI for playing video media associated with a design object, including subtitle support and playback controls.

Definition at line 26 of file VideoModelViewer.h.

Constructor & Destructor Documentation

◆ VLCVideoModelViewer()

VLCVideoModelViewer::VLCVideoModelViewer ( const DynamicPointer< QTDesignObject > & project,
VlcInstance * instance,
QWidget * parent = nullptr )

Constructs a VLCVideoModelViewer.

Parameters
[in]projectthe design object associated with this viewer.
[in]instancethe VLC library instance.
[in]parentthe parent widget.

References project().

Member Function Documentation

◆ disableExport()

virtual bool VLCVideoModelViewer::disableExport ( ) const
inlineoverridevirtual

Returns whether export is disabled for this editor.

Returns
true, as export is always disabled for video viewers.

Reimplemented from Editor.

Definition at line 58 of file VideoModelViewer.h.

◆ event()

bool VLCVideoModelViewer::event ( QEvent * event)
override

Handles Qt events for this widget.

Parameters
[in]eventthe event to process.
Returns
true if the event was handled.

References event().

Referenced by event().

◆ setSubtitle()

void VLCVideoModelViewer::setSubtitle ( const String & subtitle)

Displays the specified subtitle text.

Parameters
[in]subtitlethe subtitle text to display.

◆ showMode()

EditorShowMode VLCVideoModelViewer::showMode ( ) const
overridevirtual

Returns the preferred show mode for this editor.

Returns
the editor show mode.

Reimplemented from Editor.

◆ updatePlaying()

void VLCVideoModelViewer::updatePlaying ( bool playing)

Updates the UI to reflect the current playing state.

Parameters
[in]playingwhether the media is currently playing.

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