CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkPathListButtonsWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Library: CTK
4 
5  Copyright (c) University College London.
6 
7  Licensed under the Apache License, Version 2.0 (the "License");
8  you may not use this file except in compliance with the License.
9  You may obtain a copy of the License at
10 
11  http://www.apache.org/licenses/LICENSE-2.0.txt
12 
13  Unless required by applicable law or agreed to in writing, software
14  distributed under the License is distributed on an "AS IS" BASIS,
15  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  See the License for the specific language governing permissions and
17  limitations under the License.
18 
19 =========================================================================*/
20 
21 #ifndef __ctkPathListButtonsWidget_h
22 #define __ctkPathListButtonsWidget_h
23 
24 // Qt includes
25 #include <QWidget>
26 
27 
28 // QtGUI includes
29 #include "ctkWidgetsExport.h"
30 #include "ctkPathListWidget.h"
31 
32 class ctkPathListButtonsWidgetPrivate;
33 
34 class QToolButton;
35 
36 
48 class CTK_WIDGETS_EXPORT ctkPathListButtonsWidget : public QWidget
49 {
50  Q_OBJECT
51 
52  Q_PROPERTY(bool showAddFilesButton READ isAddFilesButtonVisible WRITE setAddFilesButtonVisible)
53  Q_PROPERTY(bool showAddDirectoryButton READ isAddDirectoryButtonVisible WRITE setAddDirectoryButtonVisible)
54  Q_PROPERTY(bool showRemoveButton READ isRemoveButtonVisible WRITE setRemoveButtonVisible)
55  Q_PROPERTY(bool showEditButton READ isEditButtonVisible WRITE setEditButtonVisible)
56 
57  Q_PROPERTY(QString textAddFilesButton READ textAddFilesButton WRITE setTextAddFilesButton)
58  Q_PROPERTY(QString textAddDirectoryButton READ textAddDirectoryButton WRITE setTextAddDirectoryButton)
59  Q_PROPERTY(QString textRemoveButton READ textRemoveButton WRITE setTextRemoveButton)
60  Q_PROPERTY(QString textEditButton READ textEditButton WRITE setTextEditButton)
61 
62  Q_PROPERTY(QString toolTipAddFilesButton READ toolTipAddFilesButton WRITE setToolTipAddFilesButton)
63  Q_PROPERTY(QString toolTipAddDirectoryButton READ toolTipAddDirectoryButton WRITE setToolTipAddDirectoryButton)
64  Q_PROPERTY(QString toolTipRemoveButton READ toolTipRemoveButton WRITE setToolTipRemoveButton)
65  Q_PROPERTY(QString toolTipEditButton READ toolTipEditButton WRITE setToolTipEditButton)
66 
67  Q_PROPERTY(QIcon iconAddFilesButton READ iconAddFilesButton WRITE setIconAddFilesButton RESET unsetIconAddFilesButton)
68  Q_PROPERTY(QIcon iconAddDirectoryButton READ iconAddDirectoryButton WRITE setIconAddDirectoryButton RESET unsetIconAddDirectoryButton)
69  Q_PROPERTY(QIcon iconRemoveButton READ iconRemoveButton WRITE setIconRemoveButton RESET unsetIconRemoveButton)
70  Q_PROPERTY(QIcon iconEditButton READ iconEditButton WRITE setIconEditButton RESET unsetIconEditButton)
71 
72  Q_PROPERTY(bool buttonsAutoRaise READ isButtonsAutoRaise WRITE setButtonsAutoRaise)
73  Q_PROPERTY(int buttonSpacing READ buttonSpacing WRITE setButtonSpacing)
74 
75  Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
76 
77 public:
78 
80  typedef QWidget Superclass;
81 
82  ctkPathListButtonsWidget(QWidget* parent = 0);
84 
86  void init(ctkPathListWidget* pathListWidget);
87 
89  void setAddFilesButtonVisible(bool visible);
90 
92  void setAddDirectoryButtonVisible(bool visible);
93 
94  bool isRemoveButtonVisible() const;
95  void setRemoveButtonVisible(bool visible);
96 
97  bool isEditButtonVisible() const;
98  void setEditButtonVisible(bool visible);
99 
100  QString textAddFilesButton() const;
101  QString textAddDirectoryButton() const;
102  QString textRemoveButton() const;
103  QString textEditButton() const;
104 
105  void setTextAddFilesButton(const QString& text);
106  void setTextAddDirectoryButton(const QString& text);
107  void setTextRemoveButton(const QString& text);
108  void setTextEditButton(const QString& text);
109 
110  QString toolTipAddFilesButton() const;
111  QString toolTipAddDirectoryButton() const;
112  QString toolTipRemoveButton() const;
113  QString toolTipEditButton() const;
114 
115  void setToolTipAddFilesButton(const QString& toolTip);
116  void setToolTipAddDirectoryButton(const QString& toolTip);
117  void setToolTipRemoveButton(const QString& toolTip);
118  void setToolTipEditButton(const QString& toolTip);
119 
120  QIcon iconAddFilesButton() const;
121  QIcon iconAddDirectoryButton() const;
122  QIcon iconRemoveButton() const;
123  QIcon iconEditButton() const;
124 
125  void setIconAddFilesButton(const QIcon& icon);
126  void setIconAddDirectoryButton(const QIcon& icon);
127  void setIconRemoveButton(const QIcon& icon);
128  void setIconEditButton(const QIcon& icon);
129 
134 
135  bool isButtonsAutoRaise() const;
136  void setButtonsAutoRaise(bool autoRaise);
137 
138  int buttonSpacing() const;
139  void setButtonSpacing(int spacing);
140 
141  Qt::Orientation orientation() const;
142  void setOrientation(Qt::Orientation orientation);
143 
144  QToolButton* buttonAddFiles() const;
145  QToolButton* buttonAddDirectory() const;
146  QToolButton* buttonEdit() const;
147  QToolButton* buttonRemove() const;
148 
149 protected:
150  QScopedPointer<ctkPathListButtonsWidgetPrivate> d_ptr;
151 
152 private:
153  Q_DECLARE_PRIVATE(ctkPathListButtonsWidget)
154  Q_DISABLE_COPY(ctkPathListButtonsWidget)
155 };
156 
157 #endif
A widget with add, remove and edit buttons to be used together with ctkPathListWidget.
QIcon iconRemoveButton() const
QIcon iconAddFilesButton() const
QWidget Superclass
Superclass typedef.
bool isButtonsAutoRaise() const
void setTextAddFilesButton(const QString &text)
QIcon iconAddDirectoryButton() const
void setOrientation(Qt::Orientation orientation)
bool isAddFilesButtonVisible() const
bool isEditButtonVisible() const
void setButtonSpacing(int spacing)
QString toolTipEditButton() const
QString textEditButton() const
bool isRemoveButtonVisible() const
void setIconEditButton(const QIcon &icon)
QString toolTipAddDirectoryButton() const
QToolButton * buttonAddFiles() const
ctkPathListButtonsWidget(QWidget *parent=0)
void init(ctkPathListWidget *pathListWidget)
Initialize this widget with a ctkPathListWidget.
QString toolTipAddFilesButton() const
QString textAddFilesButton() const
void setIconAddDirectoryButton(const QIcon &icon)
void setButtonsAutoRaise(bool autoRaise)
void setAddDirectoryButtonVisible(bool visible)
void setIconRemoveButton(const QIcon &icon)
Qt::Orientation orientation() const
void setEditButtonVisible(bool visible)
QString textAddDirectoryButton() const
void setToolTipEditButton(const QString &toolTip)
void setIconAddFilesButton(const QIcon &icon)
QToolButton * buttonRemove() const
void setTextAddDirectoryButton(const QString &text)
void setAddFilesButtonVisible(bool visible)
void setRemoveButtonVisible(bool visible)
void setToolTipAddDirectoryButton(const QString &toolTip)
void setTextRemoveButton(const QString &text)
QIcon iconEditButton() const
void setTextEditButton(const QString &text)
void setToolTipRemoveButton(const QString &toolTip)
bool isAddDirectoryButtonVisible() const
QToolButton * buttonEdit() const
virtual ~ctkPathListButtonsWidget()
QScopedPointer< ctkPathListButtonsWidgetPrivate > d_ptr
QToolButton * buttonAddDirectory() const
QString toolTipRemoveButton() const
QString textRemoveButton() const
void setToolTipAddFilesButton(const QString &toolTip)
The ctkPathListWidget lists files and/or directories.