Salome HOME
mergefrom branch BR_V511_PR tag mergeto_trunk_03feb09
[modules/yacs.git] / src / genericgui / TablePortsEdition.hxx
1 //  Copyright (C) 2006-2008  CEA/DEN, EDF R&D
2 //
3 //  This library is free software; you can redistribute it and/or
4 //  modify it under the terms of the GNU Lesser General Public
5 //  License as published by the Free Software Foundation; either
6 //  version 2.1 of the License.
7 //
8 //  This library is distributed in the hope that it will be useful,
9 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 //  Lesser General Public License for more details.
12 //
13 //  You should have received a copy of the GNU Lesser General Public
14 //  License along with this library; if not, write to the Free Software
15 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 #ifndef _TABLEPORTSEDITION_HXX_
20 #define _TABLEPORTSEDITION_HXX_
21
22 #include "ui_TablePorts.h"
23
24 #include <QDialog>
25 #include <QTreeWidget>
26 #include <QComboBox>
27
28 namespace YACS
29 {
30   namespace HMI
31   {
32     class SubjectElementaryNode;
33
34     class YComboBox: public QComboBox
35     {
36       Q_OBJECT
37
38     public:
39       YComboBox(QWidget *parent = 0);
40       virtual ~YComboBox();
41       virtual void hidePopup();
42       virtual void showPopup();
43
44     signals:
45       void popupHide();
46       void popupShow();
47     };
48
49     class TablePortsEdition: public QWidget, public Ui::fm_TablePorts
50     {
51       Q_OBJECT
52
53     public:
54       TablePortsEdition(bool inPorts, QWidget *parent = 0);
55       virtual ~TablePortsEdition();
56       void setNode(SubjectElementaryNode* node);
57       virtual void setEditablePorts(bool isEditable);
58       virtual void adjustColumns();
59
60     public slots:
61       void on_pb_up_clicked();
62       void on_pb_down_clicked();
63       void on_pb_insert_clicked();
64       void on_pb_remove_clicked();
65       void on_cb_insert_activated(const QString& text);
66       void on_cb_insert_popupHide();
67       void on_cb_insert_popupShow();
68             
69     protected:
70       void upOrDown(int isUp);
71       bool _inPorts;
72       SubjectElementaryNode* _node;
73       int _nbUp;
74     private:
75     };
76
77   }
78 }
79
80
81 #endif