CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkSizeGrip.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Library: CTK
4 
5  Copyright (c) Kitware Inc.
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 __ctkSizeGrip_h
22 #define __ctkSizeGrip_h
23 
24 // Qt includes
25 #include <QWidget>
26 
27 // CTK includes
28 #include "ctkWidgetsExport.h"
29 class ctkSizeGripPrivate;
30 
41 class CTK_WIDGETS_EXPORT ctkSizeGrip
42  : public QWidget
43 {
44  Q_OBJECT
45 
57  Q_PROPERTY(Qt::Orientations orientations READ orientations WRITE setOrientations)
58 
59 
67  Q_PROPERTY(QSize widgetSizeHint READ widgetSizeHint WRITE setWidgetSizeHint)
68 
69 
74  Q_PROPERTY(bool resizeWidget READ resizeWidget WRITE setResizeWidget)
75 
76 public:
77  typedef QWidget Superclass;
78  explicit ctkSizeGrip(QWidget *parent);
79  explicit ctkSizeGrip(QWidget* widgetToResize, QWidget *parent);
80  virtual ~ctkSizeGrip();
81 
82  void setOrientations(Qt::Orientations orientations);
83  Qt::Orientations orientations()const;
84 
90  QWidget* widgetToResize()const;
91  void setWidgetToResize(QWidget* target);
92 
100  QSize widgetSizeHint()const;
101 
102  void setResizeWidget(bool resize);
103  bool resizeWidget()const;
104 
109  virtual QSize sizeHint() const;
110 
111 public Q_SLOTS:
114  void setWidgetSizeHint(QSize sizeHint);
115 
116 Q_SIGNALS:
117  void widgetSizeHintChanged(QSize sizeHint);
118 
119 protected:
120  QScopedPointer<ctkSizeGripPrivate> d_ptr;
121 
122  virtual void paintEvent(QPaintEvent* paintEvent);
123  virtual bool event(QEvent* event);
124  virtual void mousePressEvent(QMouseEvent* mouseEvent);
125  virtual void mouseMoveEvent(QMouseEvent* mouseEvent);
126  virtual void mouseReleaseEvent(QMouseEvent* mouseEvent);
127  virtual void mouseDoubleClickEvent(QMouseEvent* mouseEvent);
128 
129 private:
130  Q_DECLARE_PRIVATE(ctkSizeGrip)
131  Q_DISABLE_COPY(ctkSizeGrip)
132 };
133 
134 #endif // __ctkSizeGrip_h
ctkSizeGrip is a utility widget that allows widget in a layout to be manually resized....
Definition: ctkSizeGrip.h:43
virtual QSize sizeHint() const
QSize widgetSizeHint() const
ctkSizeGrip(QWidget *parent)
virtual void paintEvent(QPaintEvent *paintEvent)
virtual void mouseMoveEvent(QMouseEvent *mouseEvent)
QWidget Superclass
Definition: ctkSizeGrip.h:77
QScopedPointer< ctkSizeGripPrivate > d_ptr
Definition: ctkSizeGrip.h:120
virtual ~ctkSizeGrip()
virtual void mouseDoubleClickEvent(QMouseEvent *mouseEvent)
void setOrientations(Qt::Orientations orientations)
bool resizeWidget() const
virtual void mouseReleaseEvent(QMouseEvent *mouseEvent)
ctkSizeGrip(QWidget *widgetToResize, QWidget *parent)
void setResizeWidget(bool resize)
Qt::Orientations orientations() const
void widgetSizeHintChanged(QSize sizeHint)
virtual bool event(QEvent *event)
QWidget * widgetToResize() const
void setWidgetSizeHint(QSize sizeHint)
virtual void mousePressEvent(QMouseEvent *mouseEvent)
void setWidgetToResize(QWidget *target)