1
/***************************************************************************
2
* Copyright (C) 2018 by santiago González *
3
* santigoro@gmail.com *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 3 of the License, or *
8
* (at your option) any later version. *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, see <http://www.gnu.org/licenses/>. *
18
***************************************************************************/
23
#include "itemlibrary.h"
24
#include "component.h"
27
class MAINMODULE_EXPORT Bus : public Component, public eBus
30
Q_PROPERTY( int Num_Bits READ numLines WRITE setNumLines DESIGNABLE true USER true )
31
Q_PROPERTY( int Start_Bit READ startBit WRITE setStartBit DESIGNABLE true USER true )
34
Bus( QObject* parent, QString type, QString id );
37
static Component* construct( QObject* parent, QString type, QString id );
38
static LibraryItem *libraryItem();
40
void setNumLines( int lines );
42
void setStartBit( int bit );
44
virtual void initialize() override;
45
virtual void inStateChanged( int msg ) override;
47
void registerPins( eNode* enode );
49
virtual void paint( QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget );