ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
ClientQueueModel Class Referencefinal

Table model that lists JetStream streams and their statistics. More...

#include <ClientQueueModel.hpp>

Inheritance diagram for ClientQueueModel:
Inheritance graph
Collaboration diagram for ClientQueueModel:
Collaboration graph

Public Types

enum  Column {
  StreamName , Subjects , Messages , Bytes ,
  Consumers , CreatedAt , LastMessageAt , ColumnCount
}
 

Public Member Functions

 ClientQueueModel (ClientManager *clientManager, QObject *parent=nullptr)
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
void refresh ()
 
const queue_rowgetRow (int row) const
 

Static Public Member Functions

static std::vector< column_style > const & columnStyles ()
 
static QVector< int > defaultHiddenColumns ()
 

Static Public Attributes

static constexpr std::size_t kColumnCount = std::size_t(ColumnCount)
 
static constexpr std::array< ColumnMetadata, kColumnCount > kColumns
 
static const QSize kDefaultWindowSize = {900, 400}
 
static constexpr std::string_view kSettingsGroup = "QueueMonitorListWindow"
 

Additional Inherited Members

- Signals inherited from AbstractClientModel
void dataLoaded ()
 
void loadError (const QString &error_message, const QString &details={})
 

Detailed Description

Table model that lists JetStream streams and their statistics.

Calls jetstream_admin::list_streams() on a background thread and presents the results as a read-only table.

Member Data Documentation

◆ kColumns

constexpr std::array<ColumnMetadata, kColumnCount> kColumns
staticconstexpr
Initial value:
= {{
{ .column = StreamName, .header = "Stream", .style = column_style::text_left, .hidden_by_default = false, .default_width = kColumnWidthAuto },
{ .column = Subjects, .header = "Subjects", .style = column_style::text_left, .hidden_by_default = false, .default_width = kColumnWidthAuto },
{ .column = Messages, .header = "Messages", .style = column_style::mono_center, .hidden_by_default = false, .default_width = 90 },
{ .column = Bytes, .header = "Bytes", .style = column_style::mono_center, .hidden_by_default = false, .default_width = 90 },
{ .column = Consumers, .header = "Consumers", .style = column_style::mono_center, .hidden_by_default = false, .default_width = 80 },
{ .column = CreatedAt, .header = "Created", .style = column_style::mono_left, .hidden_by_default = false, .default_width = kColumnWidthAuto },
{ .column = LastMessageAt, .header = "Last Message", .style = column_style::mono_left, .hidden_by_default = false, .default_width = kColumnWidthAuto },
}}
constexpr int kColumnWidthAuto
Sentinel value for column default width meaning "auto-size to contents".
Definition ColumnMetadata.hpp:37
@ mono_center
Monospace, centered.
@ text_left
Proportional font, left-aligned (default).
@ mono_left
Monospace, left-aligned.