#include <QmitkMemoryUsageIndicatorView.h>
Public Member Functions | |
QmitkMemoryUsageIndicatorView (QWidget *parent=0, Qt::WindowFlags f=0) | |
constructor | |
~QmitkMemoryUsageIndicatorView () | |
destructor | |
Protected Slots | |
void | UpdateMemoryUsage () |
Protected Member Functions | |
std::string | FormatMemorySize (vcl_size_t size) |
std::string | FormatPercentage (double val) |
std::string | GetMemoryDescription (vcl_size_t processSize, float percentage) |
Protected Attributes | |
QPixmap | m_LEDGreen |
QPixmap | m_LEDYellow |
QPixmap | m_LEDOrange |
QPixmap | m_LEDRed |
char | m_PreviousState |
Definition at line 25 of file QmitkMemoryUsageIndicatorView.h.
QmitkMemoryUsageIndicatorView::QmitkMemoryUsageIndicatorView | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
constructor
Definition at line 48 of file QmitkMemoryUsageIndicatorView.cpp.
References Ui_QmitkMemoryUsageIndicator::m_LED, m_LEDGreen, m_LEDOrange, m_LEDRed, m_LEDYellow, m_PreviousState, Ui_QmitkMemoryUsageIndicator::setupUi(), and UpdateMemoryUsage().
{ this->setupUi(this); QTimer *timer = new QTimer( this ); QObject::connect( timer, SIGNAL( timeout() ), this, SLOT( UpdateMemoryUsage() ) ); timer->start(1000); m_LEDGreen = QmitkMemoryUsageIndicatorImagesGreen_xpm; m_LEDYellow = QmitkMemoryUsageIndicatorImagesYellow_xpm; m_LEDOrange = QmitkMemoryUsageIndicatorImagesOrange_xpm; m_LEDRed = QmitkMemoryUsageIndicatorImagesRed_xpm; m_LED->setPixmap(m_LEDGreen); m_PreviousState = 0; }
QmitkMemoryUsageIndicatorView::~QmitkMemoryUsageIndicatorView | ( | ) |
std::string QmitkMemoryUsageIndicatorView::FormatMemorySize | ( | vcl_size_t | size ) | [protected] |
Definition at line 112 of file QmitkMemoryUsageIndicatorView.cpp.
Referenced by GetMemoryDescription().
{ double val = size; std::string descriptor("B"); if ( val >= 1000.0 ) { val /= 1024.0; descriptor = "KB"; } if ( val >= 1000.0 ) { val /= 1024.0; descriptor = "MB"; } if ( val >= 1000.0 ) { val /= 1024.0; descriptor = "GB"; } std::ostringstream str; str << std::fixed << std::setprecision(2) << val << " " << descriptor; return str.str(); }
std::string QmitkMemoryUsageIndicatorView::FormatPercentage | ( | double | val ) | [protected] |
Definition at line 136 of file QmitkMemoryUsageIndicatorView.cpp.
Referenced by GetMemoryDescription().
{ std::ostringstream str; str << std::fixed << std::setprecision(2) << val << " " << "%"; return str.str(); }
std::string QmitkMemoryUsageIndicatorView::GetMemoryDescription | ( | vcl_size_t | processSize, |
float | percentage | ||
) | [protected] |
Definition at line 143 of file QmitkMemoryUsageIndicatorView.cpp.
References FormatMemorySize(), and FormatPercentage().
Referenced by UpdateMemoryUsage().
{ std::ostringstream str; str << FormatMemorySize(processSize) << " (" << FormatPercentage( percentage ) <<")" ; return str.str(); }
void QmitkMemoryUsageIndicatorView::UpdateMemoryUsage | ( | ) | [protected, slot] |
Definition at line 67 of file QmitkMemoryUsageIndicatorView.cpp.
References GetMemoryDescription(), mitk::MemoryUtilities::GetProcessMemoryUsage(), mitk::MemoryUtilities::GetTotalSizeOfPhysicalRam(), Ui_QmitkMemoryUsageIndicator::m_Label, Ui_QmitkMemoryUsageIndicator::m_LED, m_LEDGreen, m_LEDOrange, m_LEDRed, m_LEDYellow, and m_PreviousState.
Referenced by QmitkMemoryUsageIndicatorView().
{ size_t processSize = mitk::MemoryUtilities::GetProcessMemoryUsage(); size_t totalSize = mitk::MemoryUtilities::GetTotalSizeOfPhysicalRam(); float percentage = ( (float) processSize / (float) totalSize ) * 100.0; m_Label->setText( GetMemoryDescription( processSize, percentage ).c_str() ); if ( percentage < 50.0 ) { if(m_PreviousState != 0) { m_LED->setPixmap(m_LEDGreen); m_PreviousState = 0; m_LED->update(); } } else if ( percentage < 65.0 ) { if(m_PreviousState != 1) { m_LED->setPixmap(m_LEDYellow); m_PreviousState = 1; m_LED->update(); } } else if ( percentage < 80.0 ) { if(m_PreviousState != 2) { m_LED->setPixmap(m_LEDOrange); m_PreviousState = 2; m_LED->update(); } } else { if(m_PreviousState != 3) { m_LED->setPixmap(m_LEDRed); m_PreviousState = 3; m_LED->update(); } } }
QPixmap QmitkMemoryUsageIndicatorView::m_LEDGreen [protected] |
Definition at line 47 of file QmitkMemoryUsageIndicatorView.h.
Referenced by QmitkMemoryUsageIndicatorView(), and UpdateMemoryUsage().
QPixmap QmitkMemoryUsageIndicatorView::m_LEDOrange [protected] |
Definition at line 49 of file QmitkMemoryUsageIndicatorView.h.
Referenced by QmitkMemoryUsageIndicatorView(), and UpdateMemoryUsage().
QPixmap QmitkMemoryUsageIndicatorView::m_LEDRed [protected] |
Definition at line 50 of file QmitkMemoryUsageIndicatorView.h.
Referenced by QmitkMemoryUsageIndicatorView(), and UpdateMemoryUsage().
QPixmap QmitkMemoryUsageIndicatorView::m_LEDYellow [protected] |
Definition at line 48 of file QmitkMemoryUsageIndicatorView.h.
Referenced by QmitkMemoryUsageIndicatorView(), and UpdateMemoryUsage().
char QmitkMemoryUsageIndicatorView::m_PreviousState [protected] |
Definition at line 51 of file QmitkMemoryUsageIndicatorView.h.
Referenced by QmitkMemoryUsageIndicatorView(), and UpdateMemoryUsage().