Go to the documentation of this file.00001
00010 #include "DropRateWidget.h"
00011 #include "DetectOS.h"
00012 #include <cstdio>
00013
00014 using namespace std;
00015
00016 #if defined(MSC)
00017 #define snprintf _snprintf
00018 #endif
00019
00020
00021 struct DropRateWidget::pImpl
00022 {
00023 DropRateWidget* widget_;
00024
00025
00026 pImpl(DropRateWidget* widget) : widget_(widget)
00027 {
00028 }
00029
00030
00031 void initializeForm(void)
00032 {
00033 setEnabled(false);
00034 }
00035
00036
00037 void setEnabled(bool enable)
00038 {
00039 if (! enable) {
00040 widget_->value_label_->setText("---");
00041 }
00042 widget_->value_label_->setEnabled(enable);
00043 widget_->percent_label_->setEnabled(enable);
00044 }
00045 };
00046
00047
00048 DropRateWidget::DropRateWidget(QWidget* parent)
00049 : QWidget(parent), pimpl(new pImpl(this))
00050 {
00051 setupUi(this);
00052 pimpl->initializeForm();
00053 }
00054
00055
00056 DropRateWidget::~DropRateWidget(void)
00057 {
00058 }
00059
00060
00061 void DropRateWidget::setEnabled(bool enable)
00062 {
00063 pimpl->setEnabled(enable);
00064 }
00065
00066
00067 void DropRateWidget::setDropRate(size_t percent)
00068 {
00069 enum { BufferSize = 4 };
00070 char buffer[BufferSize];
00071 snprintf(buffer, BufferSize, "%d", percent);
00072 pimpl->widget_->value_label_->setText(buffer);
00073 }