orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
probeview.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2006-2007 Alexei Makarenko 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 00011 #ifndef QTDRIVER_PROBE_VIEW_H 00012 #define QTDRIVER_PROBE_VIEW_H 00013 00014 #include <QListView> 00015 00016 #include <orcaqcm/ocmmodel.h> 00017 00018 #include <orcaprobe/ibrowser.h> 00019 00020 class QLabel; 00021 class QStatusBar; 00022 00023 namespace probe 00024 { 00025 00026 class ProbeView; 00027 class ProbeDelegate; 00028 00029 class ProbeView : public QListView 00030 { 00031 Q_OBJECT 00032 00033 public: 00034 ProbeView( const QString & name, 00035 orcaqcm::OcmModel *model, 00036 QWidget *parent=0 ); 00037 00038 void setNeighbors( ProbeView *left, 00039 ProbeView *right ); 00040 00041 // hooks up to the model using parent's current index 00042 void putIntoFocus(); 00043 00044 static void config( orcaprobe::IBrowser *browser, 00045 QLabel *label, 00046 QStatusBar *statusBar ); 00047 00048 private: 00049 00050 virtual void keyPressEvent( QKeyEvent * event ); 00051 virtual void mousePressEvent( QMouseEvent * event ); 00052 virtual void focusInEvent( QFocusEvent * event ); 00053 virtual void focusOutEvent( QFocusEvent * event ); 00054 00055 virtual void currentChanged( const QModelIndex & current, const QModelIndex & previous ); 00056 00057 QString name_; 00058 orcaqcm::OcmModel *model_; 00059 ProbeDelegate *delegate_; 00060 00061 // need to keep track of left/right for several reasons: 00062 // - blank out right columns on vertical move 00063 // - display info about parent in label above 00064 // - hook us up to the model based on parent's current index 00065 ProbeView *left_; 00066 ProbeView *right_; 00067 00068 // utilities to blank-out the display 00069 // turnOff is recursive to the right 00070 void turnOn(); 00071 void turnOff(); 00072 bool isOn_; 00073 00074 static orcaprobe::IBrowser *_browser; 00075 static QLabel *_label; 00076 static QStatusBar *_statusBar; 00077 }; 00078 00079 } // namespace 00080 00081 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)