comparison layout_view.h @ 9:0d7875c26974

layout designer: hints on widget placement during drag and drop
author Goffi <goffi@goffi.org>
date Fri, 26 Aug 2011 12:15:21 +0200
parents c63d67895cbe
children 877a005c2b42
comparison
equal deleted inserted replaced
8:c63d67895cbe 9:0d7875c26974
23 #include <QDragEnterEvent> 23 #include <QDragEnterEvent>
24 #include "layout_widget.h" 24 #include "layout_widget.h"
25 25
26 #define LAYOUT_WIDGET_MIME "application/x-bellaciao-widget" 26 #define LAYOUT_WIDGET_MIME "application/x-bellaciao-widget"
27 27
28 class WidgetView : public QLabel
29 {
30 Q_OBJECT
31 public:
32 WidgetView(const QString& name);
33 };
28 34
29 class LayoutView : public QWidget 35 class LayoutView : public QWidget
30 { 36 {
31 Q_OBJECT 37 Q_OBJECT
32 38
33 public: 39 public:
34 LayoutView(QWidget* parent=0); 40 LayoutView(QWidget* parent=0);
35 ~LayoutView(); 41 ~LayoutView();
36 void setLayoutWidgets(const QHash<QString, LayoutWidget*>& layout_widgets); 42 void setLayoutWidgets(const QHash<QString, LayoutWidget*>& layout_widgets);
37 void dragEnterEvent (QDragEnterEvent* event ); 43 void dragEnterEvent (QDragEnterEvent* event );
44 void dragLeaveEvent (QDragLeaveEvent* event );
38 void dragMoveEvent (QDragMoveEvent* event ); 45 void dragMoveEvent (QDragMoveEvent* event );
39 void dropEvent (QDropEvent * event); 46 void dropEvent (QDropEvent * event);
40 protected: 47 protected:
41 void addWidget(const QString& name); 48 void addWidget(const QString& name);
49 void paintEvent(QPaintEvent* event);
42 private: 50 private:
43 QHash<QString, LayoutWidget*> m_layout_widgets; 51 QHash<QString, LayoutWidget*> m_layout_widgets;
44 QList<LayoutWidget> m_widgets_list; 52 QList<LayoutWidget> m_widgets_list;
45 QVBoxLayout* m_layout; 53 QVBoxLayout* m_layout;
54 QRect m_loc_hint;
55 int m_insert_pos; //position in the layout when a widget must be inserted
46 }; 56 };
47 #endif 57 #endif