cisst-saw
Loading...
Searching...
No Matches
cmnLoggerQtWidget.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Anton Deguet
6 Created on: 2010-03-20
7
8 (C) Copyright 2010-2026 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#pragma once
20
21#ifndef _cmnLoggerQtWidget_h
22#define _cmnLoggerQtWidget_h
23
25
26// forward declarations
27class QWidget;
28class QVBoxLayout;
29class QLabel;
30class QGridLayout;
31class QTableView;
32class QLineEdit;
33class QComboBox;
34class QPlainTextEdit;
35class QSortFilterProxyModel;
36class QTimer;
37#include <QStringList>
38
39class cmnLoggerQtWidgetClassServicesModel;
40class cmnLoggerQtWidgetLoDDelegate;
41class cmnLoggerQtStreambufEmitter;
42class cmnLoggerQtStreambuf;
43
44// Always include last
46
62{
64
65public:
66 cmnLoggerQtWidget(QWidget * parent = nullptr);
68
70 inline QWidget * GetWidget(void) { return this->Widget; }
71
72protected:
73 // top-level container
74 QWidget * Widget;
75 QVBoxLayout * Layout;
76
77 // Settings tab — global mask grid
79 QGridLayout * MainFilterLayout;
81 QComboBox * OverallFilterData; // Init nibble of overall mask
82 QComboBox * OverallRunData; // Run nibble of overall mask
84 QComboBox * FunctionFilterData; // Init nibble of function mask
85 QComboBox * FunctionRunData; // Run nibble of function mask
86
87 // Settings tab — class table
89 cmnLoggerQtWidgetClassServicesModel * Model;
90 QSortFilterProxyModel * ProxyModel;
91 cmnLoggerQtWidgetLoDDelegate * Delegate;
92 QTableView * View;
93
94 // Logs tab
95 QPlainTextEdit * LogDisplay;
96 QComboBox * MaxLinesDisplay;
97
98 // Log capture
99 cmnLoggerQtStreambufEmitter * Emitter;
100 cmnLoggerQtStreambuf * Streambuf;
101 std::ostream * LogStream;
102 QStringList PendingLines; // accumulated between GUI flush ticks
103
104 // Periodic class-list refresh
105 QTimer * Timer;
106};
107
109
110#endif // _cmnLoggerQtWidget_h
Base class for high level objects.
Definition cmnGenericObject.h:53
Qt widget for interactive log level management.
Definition cmnLoggerQtWidget.h:62
cmnLoggerQtStreambuf * Streambuf
Definition cmnLoggerQtWidget.h:100
QWidget * Widget
Definition cmnLoggerQtWidget.h:74
QLineEdit * ClassNameFilterLineEdit
Definition cmnLoggerQtWidget.h:88
cmnLoggerQtWidgetClassServicesModel * Model
Definition cmnLoggerQtWidget.h:89
QTimer * Timer
Definition cmnLoggerQtWidget.h:105
QTableView * View
Definition cmnLoggerQtWidget.h:92
QComboBox * OverallRunData
Definition cmnLoggerQtWidget.h:82
cmnLoggerQtStreambufEmitter * Emitter
Definition cmnLoggerQtWidget.h:99
QComboBox * FunctionFilterData
Definition cmnLoggerQtWidget.h:84
QLabel * OverallFilterLabel
Definition cmnLoggerQtWidget.h:80
std::ostream * LogStream
Definition cmnLoggerQtWidget.h:101
QComboBox * MaxLinesDisplay
Definition cmnLoggerQtWidget.h:96
QPlainTextEdit * LogDisplay
Definition cmnLoggerQtWidget.h:95
QGridLayout * MainFilterLayout
Definition cmnLoggerQtWidget.h:79
QSortFilterProxyModel * ProxyModel
Definition cmnLoggerQtWidget.h:90
QLabel * FunctionFilterLabel
Definition cmnLoggerQtWidget.h:83
QWidget * MainFilterWidget
Definition cmnLoggerQtWidget.h:78
cmnLoggerQtWidget(QWidget *parent=nullptr)
QVBoxLayout * Layout
Definition cmnLoggerQtWidget.h:75
QWidget * GetWidget(void)
Definition cmnLoggerQtWidget.h:70
QComboBox * OverallFilterData
Definition cmnLoggerQtWidget.h:81
cmnLoggerQtWidgetLoDDelegate * Delegate
Definition cmnLoggerQtWidget.h:91
QComboBox * FunctionRunData
Definition cmnLoggerQtWidget.h:85
QStringList PendingLines
Definition cmnLoggerQtWidget.h:102
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_NO_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:325
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Macros to export the symbols of cisstCommonQt (in a Dll).
Defines cmnGenericObject.
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76