25 #include <ArmarXGui/gui-plugins/LoggingPlugin/ui_LogViewer.h>
64 void loadSettings(QSettings* settings)
override;
65 void saveSettings(QSettings* settings)
override;
68 return "Meta.LogViewer";
72 return QIcon(
"://icons/papyrus.svg");
76 return QIcon(
"://icons/papyrus.svg");
78 QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent)
override;
81 void onInitComponent()
override;
82 void onConnectComponent()
override;
83 void onExitComponent()
override;
86 void write(
const std::string& who,
Ice::Long time,
const std::string& tag, MessageType severity,
const std::string&
message,
const std::string& file,
Ice::Int line,
const std::string&
function,
const Ice::Current& = Ice::emptyCurrent);
87 void writeLog(
const LogMessage& msg,
const Ice::Current& = Ice::emptyCurrent)
override;
90 void setRow(
const LogMessage& msg,
int rowIndex);
92 LogTable* addFilter(QString filterId, QString filterName, QString loggingGroup, QString componentFilter, QString tagFilter, MessageType minimumVerbosity, QString messageFilter, QString fileFilter, QString functionFilter);
94 bool checkAndAddNewFilter(
const QString& loggingGroupName,
const QString& componentName);
98 void addNewEntry(
const LogMessage& msg);
99 void performLiveFilter(QString searchStr,
int startRow = 0);
100 void performLiveSearch(QString searchStr);
101 void clearSelectedLog();
103 void pauseLogging(
bool pause =
false);
105 void editFilter(QTreeWidgetItem* item,
int column);
106 void removeSelectedFilter();
107 void removeFilter(QTreeWidgetItem* item);
108 void filterSelectionChanged(QTreeWidgetItem* item, QTreeWidgetItem* previous);
109 void insertPendingEntries();
110 void searchTypeChanged(
int index);
111 void selectNextSearchResult();
112 void selectPreviousSearchResult();
113 void updateFilterList();
114 void OpenConfigureDialog();
116 void newEntry(
const LogMessage& msg);
117 void updateFilterListSignal();
118 void componentConnected();
120 bool onClose()
override;
125 QString loggingGroupNameToFilterName(
const QString& loggingGroupName)
const;
129 std::vector<LogMessage> buffer;
131 std::map<QString, LogTable*> filterMap;
133 std::vector <LogMessage> pendingEntries;
135 mutable std::mutex pendingEntriesMutex;
136 QTimer* pendingEntriesTimer;
137 QToolBar* customToolbar;