ViewBase(session, is_main_view, parent),
// Note: Place defaults in View::reset_view_state(), not here
+ parent_(parent),
decoder_selector_(new QComboBox()),
format_selector_(new QComboBox()),
class_selector_(new QComboBox()),
decoder_selector_->setSizeAdjustPolicy(QComboBox::AdjustToContents);
class_selector_->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+ parent->setSizePolicy(hex_view_->sizePolicy()); // TODO Must be updated when selected widget changes
+
reset_view_state();
}
if (signal_) {
// Populate binary class selector
- uint8_t bin_classes = decoder_->get_binary_class_count();
- for (uint8_t i = 0; i < bin_classes; i++) {
+ uint32_t bin_classes = decoder_->get_binary_class_count();
+ for (uint32_t i = 0; i < bin_classes; i++) {
const data::decode::DecodeBinaryClassInfo* class_info = decoder_->get_binary_class(i);
- class_selector_->addItem(class_info->name, QVariant::fromValue(i));
+ class_selector_->addItem(class_info->description, QVariant::fromValue(i));
}
connect(signal_, SIGNAL(new_binary_data(unsigned int, void*, unsigned int)),
void View::on_selected_class_changed(int index)
{
- bin_class_id_ = class_selector_->itemData(index).value<uint8_t>();
+ bin_class_id_ = class_selector_->itemData(index).value<uint32_t>();
update_data();
}
void View::on_new_binary_data(unsigned int segment_id, void* decoder, unsigned int bin_class_id)
{
if ((segment_id == current_segment_) && (decoder == decoder_) && (bin_class_id == bin_class_id_))
- update_data();
+ if (!delayed_view_updater_.isActive())
+ delayed_view_updater_.start();
}
void View::on_decoder_stacked(void* decoder)
decoder_selector_->removeItem(index);
}
+void View::perform_delayed_view_update()
+{
+ update_data();
+}
+
} // namespace decoder_output
} // namespace views