Linux multi-monitor fullscreen support
[ryzomcore.git] / studio / src / plugins / gui_editor / expression_link.h
blob040fc359e6695f6db907df4852a36d0e9b3219de
1 // Ryzom Core Studio - GUI Editor Plugin
2 //
3 // Copyright (C) 2010-2014 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
4 //
5 // This program is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Affero General Public License as
7 // published by the Free Software Foundation, either version 3 of the
8 // License, or (at your option) any later version.
9 //
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 Affero General Public License for more details.
15 // You should have received a copy of the GNU Affero General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef EXPRESSION_LINK
19 #define EXPRESSION_LINK
21 #include <QGraphicsItem>
23 class ExpressionNode;
25 class ExpressionLink : public QGraphicsLineItem
27 public:
28 ExpressionLink( QGraphicsItem *parent = NULL );
29 ~ExpressionLink();
31 void link( ExpressionNode *from, ExpressionNode *to, int fromSlot, int toSlot );
32 void unlink();
34 void nodeMoved();
36 void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget );
38 ExpressionNode* from() const{ return m_from; }
39 ExpressionNode* to() const{ return m_to; }
41 private:
42 ExpressionNode *m_from;
43 ExpressionNode *m_to;
45 int m_fromSlot;
46 int m_toSlot;
49 #endif