00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef QSPLITTERADAPTER_H
00010 #define QSPLITTERADAPTER_H
00011
00012 #include "JavaQxQSwing.h"
00013
00014
00015
00016
00017
00024 class JAVAQX_EXPORT QSplitterHandleAdapter : public QSplitterHandle
00025 {
00026 public:
00027 QSplitterHandleAdapter(Qt::Orientation orientation, QSplitter *parent,
00028 bool touchExpandable);
00029 public:
00030 void setTouchExpandable(bool touchExpandable);
00031 protected:
00032 virtual void resizeEvent(QResizeEvent *e);
00033 virtual void paintEvent(QPaintEvent *e);
00034 virtual void enterEvent(QEvent *e);
00035 virtual void leaveEvent(QEvent *e);
00036 virtual void mouseMoveEvent(QMouseEvent *e);
00037 virtual void mousePressEvent(QMouseEvent *e);
00038 virtual void mouseReleaseEvent(QMouseEvent *e);
00039 private:
00040 void calculateArrows();
00041 private:
00042 enum MousePosition { Outside, Over, OverFirst, OverSecond };
00043 MousePosition m_mousePosition;
00044 QPoint m_pressedPoint;
00045 QPoint m_firstArrow[3];
00046 QPoint m_secondArrow[3];
00047 QRect m_firstArrowRect;
00048 QRect m_secondArrowRect;
00049 bool m_touchExpandable;
00050 };
00051
00052
00053
00054
00055
00062 class QSplitterAdapter : public QSplitter
00063 {
00064 public:
00065 QSplitterAdapter();
00066 public:
00067 void setHandlePosition(int position);
00068 void setOneTouchExpandable(bool oneTouchExpandable);
00069 void setResizeWeight(double resizeWeight);
00070 void collapseFirst();
00071 void collapseSecond();
00072 protected:
00073 QSplitterHandle *createHandle();
00074 private:
00075 bool m_oneTouchExpandable;
00076 double m_resizeWeight;
00077 };
00078
00079 #endif // QSPLITTERADAPTER_H
00080
00081
00082
00083
00084
00085
00086
00087