mupp 1.1.0
Loading...
Searching...
No Matches
PmuppGui.cpp File Reference

Implementation of the main GUI for mupp (MusrFit Parameter Plotter). More...

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/stat.h>
#include <errno.h>
#include <cmath>
#include <iostream>
#include <QApplication>
#include <QToolBar>
#include <QMenuBar>
#include <QMessageBox>
#include <QRect>
#include <QSpacerItem>
#include <QFrame>
#include <QStringList>
#include <QFileDialog>
#include <QListWidgetItem>
#include <QInputDialog>
#include <QFile>
#include <QTextStream>
#include <QDateTime>
#include <QKeyEvent>
#include <QProcessEnvironment>
#include <QDir>
#include <QtDebug>
#include "mupp_version.h"
#include "PmuppGui.h"
Include dependency graph for PmuppGui.cpp:

Go to the source code of this file.

Detailed Description

Implementation of the main GUI for mupp (MusrFit Parameter Plotter).

This file implements the graphical user interface for the mupp application, providing an interactive environment for visualizing and analyzing parameter data from MusrFit analysis files.

Key functionality implemented:

  • GUI construction and layout management using Qt widgets
  • Data collection and parameter management
  • X-Y axis parameter selection for plotting
  • Variable expression handling and evaluation
  • Command-line interface with history navigation
  • ROOT macro generation for plotting
  • Integration with external ROOT plotting process via IPC
  • Theme detection and icon management (light/dark modes)
  • Drag-and-drop support for parameter selection
  • Recent files management

The implementation includes three main classes:

  • PmuppXY: Data structure for X-Y axis associations
  • PVarErrorDialog: Error message dialog for variable parsing
  • PmuppGui: Main window with complete GUI functionality

Communication with the plotting backend: The application communicates with an external ROOT-based plotting process (mupp_plot) using System V message queues for inter-process communication. Each mupp instance has a unique identifier for isolated message routing.

Definition in file PmuppGui.cpp.