X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ObjectsBrowser.h;h=b1a70d487ec1cab3f2d1c6bdc6baf1e8bc89df45;hb=220bd2b37119be1c65abf88a88792445cb9d99f8;hp=8c33e24f9b8bc83f09ddcec3277a97f3ebc9294f;hpb=61c3ceac672c271d8c1a104fe5c5281c66cacef4;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ObjectsBrowser.h b/src/XGUI/XGUI_ObjectsBrowser.h index 8c33e24f9..b1a70d487 100644 --- a/src/XGUI/XGUI_ObjectsBrowser.h +++ b/src/XGUI/XGUI_ObjectsBrowser.h @@ -11,7 +11,7 @@ #include #include -#include +#include class ModuleBase_IDocumentDataModel; class XGUI_DataModel; @@ -20,26 +20,35 @@ class XGUI_DataModel; * \ingroup GUI * Implementation of root label in Object Browser */ -class XGUI_ActiveDocLbl: public QLineEdit +class XGUI_ActiveDocLbl: public QLabel { Q_OBJECT public: /// Constructor + /// \param theText a text /// \param theParent a parent widget XGUI_ActiveDocLbl(const QString& theText, QWidget* theParent ); + /// Sets tree view + /// \param theView a view void setTreeView(QTreeView* theView); + /// Returns tree view QTreeView* treePalette() const { return myTreeView;} +#if (!defined HAVE_SALOME) && (defined WIN32) virtual bool event(QEvent* theEvent); +#endif public slots: + /// On unselect void unselect(); protected: + /// On mouse release virtual void mouseReleaseEvent( QMouseEvent* e); + /// Filter event bool eventFilter(QObject* theObj, QEvent* theEvent); private: @@ -51,6 +60,30 @@ private: bool myIsSelected; }; + +#if (!defined HAVE_SALOME) && (defined WIN32) +#include +/** +* \ingroup GUI +* Implementation of XGUI_DataTree custom style +*/ +class XGUI_TreeViewStyle : public QWindowsVistaStyle +{ + Q_OBJECT +public: + XGUI_TreeViewStyle() : QWindowsVistaStyle() {} + + void drawPrimitive(PrimitiveElement theElement, const QStyleOption* theOption, + QPainter* thePainter, const QWidget* theWidget = 0) const; + + void setIndex(const QModelIndex& theIndex) { myIndex = theIndex; } + QModelIndex index() const { return myIndex; } + +private: + QModelIndex myIndex; +}; +#endif + /** * \ingroup GUI * Implementation of Data Tree object for Object Browser @@ -90,6 +123,13 @@ public slots: /// Redefinition of virtual method virtual void resizeEvent(QResizeEvent* theEvent); +#if (!defined HAVE_SALOME) && (defined WIN32) + virtual void drawRow(QPainter* thePainter, + const QStyleOptionViewItem& theOptions, + const QModelIndex& theIndex) const; +private: + XGUI_TreeViewStyle* myStyle; +#endif }; /**\class XGUI_ObjectsBrowser @@ -132,7 +172,7 @@ Q_OBJECT } /// Returns active doc label object - QLineEdit* activeDocLabel() const { return myActiveDocLbl; } + QLabel* activeDocLabel() const { return myActiveDocLbl; } /// Rebuild data tree void rebuildDataTree(); @@ -167,6 +207,7 @@ signals: void onSelectionChanged(const QItemSelection& theSelected, const QItemSelection& theDeselected); private: + QModelIndexList expandedItems(const QModelIndex& theParent = QModelIndex()) const; //! Internal model XGUI_DataModel* myDocModel;