CMS 3D CMS Logo

IgQtTwigBrowser.h

Go to the documentation of this file.
00001 #ifndef IGUANA_STUDIO_IG_QT_TWIG_BROWSER_H
00002 # define IGUANA_STUDIO_IG_QT_TWIG_BROWSER_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Framework/interface/IgBrowser.h"
00008 # include "Iguana/Framework/interface/IgModel.h"
00009 # include <qlistview.h>
00010 # include <qlist.h>
00011 # include <map>
00012 
00013 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00014 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00015 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00016 
00017 class IgState;
00018 class IgSite;
00019 class IgSelectionMessage;
00020 class IgQtTwigRep;
00021 
00022 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00023 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00024 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00025 
00026 class IGUANA_STUDIO_API IgQtTwigBrowser : public QListView,
00027                                                public IgBrowser,
00028                                                public IgModel
00029 {
00030     Q_OBJECT
00031 public:
00032     IgQtTwigBrowser (IgState *state, IgSite *site);
00033     ~IgQtTwigBrowser (void);
00034 
00035     virtual void        browse (IgRepresentable *object);
00036 
00037     // FIXME: need this to show only partial twig tree?
00038     // virtual void     setRootTwig (IgQtTwig *twig);
00039 
00040     virtual void        select (IgQtTwigRep *rep);
00041 
00042     static const char * catalogLabel (void);
00043 
00045     //QList<IgQtTwigRep*> checkedItems (void);
00046 public slots:
00047     // virtual void     checkSelected (void);
00048     // virtual void     updateTree (void);
00049     // virtual void     printTrees (void);
00050     virtual void        onSelectionChange (void);
00051     virtual void        slotItemChanged (void);
00052     virtual void        slotItemRMClicked (void);
00053     virtual void        contextMenu (QListViewItem *item, const QPoint &pos,
00054                                      int col);
00055 
00056 protected:
00057     // Browser messages
00058     virtual void        selectMessage (IgSelectionMessage message);
00059 
00060     virtual void        resizeEvent (QResizeEvent *e);
00061     virtual void        contentsMouseDoubleClickEvent (QMouseEvent *e);
00062     virtual void        contentsMousePressEvent (QMouseEvent *e);
00063     virtual void        contentsMouseReleaseEvent (QMouseEvent *e);
00064 
00065     int                 isInsideChecker (int x);
00066 
00067 private:
00068     QListViewItem *     getNextUpItem (QListViewItem *item);
00069     QListViewItem *     getNextItem (QListViewItem *item);
00070     QList<IgQtTwigRep> *getSelectedItems (void);
00071     QList<IgQtTwigRep> *getCheckedItems (int column);
00072 
00073     IgState             *m_state;
00074     bool                m_discardRelease;
00075 
00076     // undefined semantics
00077     IgQtTwigBrowser (const IgQtTwigBrowser &);
00078     IgQtTwigBrowser &operator= (const IgQtTwigBrowser &);
00079 };
00080 
00081 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00082 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00083 
00084 #endif // IGUANA_STUDIO_IG_QT_TWIG_BROWSER_H

Generated on Tue Jun 9 17:38:48 2009 for CMSSW by  doxygen 1.5.4