diff 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
line wrap: on
line diff
--- a/layout_view.h	Wed Aug 24 20:38:55 2011 +0200
+++ b/layout_view.h	Fri Aug 26 12:15:21 2011 +0200
@@ -25,6 +25,12 @@
 
 #define LAYOUT_WIDGET_MIME "application/x-bellaciao-widget"
 
+class WidgetView : public QLabel
+{
+    Q_OBJECT
+    public:
+        WidgetView(const QString& name);
+};
 
 class LayoutView : public QWidget
 {
@@ -35,13 +41,17 @@
         ~LayoutView();
         void setLayoutWidgets(const QHash<QString, LayoutWidget*>& layout_widgets);
         void dragEnterEvent (QDragEnterEvent* event );
+        void dragLeaveEvent (QDragLeaveEvent* event );
         void dragMoveEvent (QDragMoveEvent* event );
         void dropEvent (QDropEvent * event);
     protected:
         void addWidget(const QString& name);
+        void paintEvent(QPaintEvent* event);
     private:
         QHash<QString, LayoutWidget*> m_layout_widgets;
         QList<LayoutWidget> m_widgets_list;
         QVBoxLayout* m_layout;
+        QRect m_loc_hint;
+        int m_insert_pos; //position in the layout when a widget must be inserted
 };
 #endif