You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							952 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							952 B
						
					
					
				#pragma once
 | 
						|
 | 
						|
#include <QComboBox>
 | 
						|
#include <QDialog>
 | 
						|
#include <QListWidget>
 | 
						|
 | 
						|
#include "tools/cabana/dbc/dbcmanager.h"
 | 
						|
 | 
						|
class SignalSelector : public QDialog {
 | 
						|
public:
 | 
						|
  struct ListItem : public QListWidgetItem {
 | 
						|
    ListItem(const MessageId &msg_id, const cabana::Signal *sig, QListWidget *parent) : msg_id(msg_id), sig(sig), QListWidgetItem(parent) {}
 | 
						|
    MessageId msg_id;
 | 
						|
    const cabana::Signal *sig;
 | 
						|
  };
 | 
						|
 | 
						|
  SignalSelector(QString title, QWidget *parent);
 | 
						|
  QList<ListItem *> seletedItems();
 | 
						|
  inline void addSelected(const MessageId &id, const cabana::Signal *sig) { addItemToList(selected_list, id, sig, true); }
 | 
						|
 | 
						|
private:
 | 
						|
  void updateAvailableList(int index);
 | 
						|
  void addItemToList(QListWidget *parent, const MessageId id, const cabana::Signal *sig, bool show_msg_name = false);
 | 
						|
  void add(QListWidgetItem *item);
 | 
						|
  void remove(QListWidgetItem *item);
 | 
						|
 | 
						|
  QComboBox *msgs_combo;
 | 
						|
  QListWidget *available_list;
 | 
						|
  QListWidget *selected_list;
 | 
						|
};
 | 
						|
 |