Mercurial > bellaciao
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