00001    #include <QDialog>
00002    #include <QString>
00003    #include <QLayout>
00004    #include <QPushButton>
00005    #include <QLabel>
00006    #include <QGroupBox>
00007    #include <QLineEdit>
00008    
00009    #include<cadef.h>
00010    
00011    static const QString gAppFont = "Helvetica";
00012    
00013    class probeDialog : public QDialog {
00014    
00015      Q_OBJECT
00016    
00017    public slots:
00018    
00019      void start ( void );
00020      void stop ( void );
00021      void version ( void );
00022      void quit ( void );
00023      void adjust ( void );
00024      void hist ( void );
00025      void info ( void );
00026      void format ( void );
00027      void pvNameEntered ( void );
00028    
00029    public:
00030    
00031      static void monitorPvConnection (
00032        struct connection_handler_args arg
00033      );
00034    
00035      static void monitorPvValue (
00036        struct event_handler_args arg
00037      );
00038    
00039      probeDialog ();
00040    
00041      probeDialog (
00042        QString title
00043      );
00044    
00045      virtual ~probeDialog ( void );
00046    
00047      void connectPv (
00048        const QString& name
00049      );
00050    
00051      QString getPvName ( void ) const;
00052    
00053      void setPvName (
00054        const QString& name
00055      ) const;
00056    
00057      void setPvValue (
00058        const QString& value
00059      ) const;
00060    
00061      void setPvStatus (
00062        const QString& value
00063      ) const;
00064    
00065    private:
00066    
00067      QVBoxLayout *mainLayout;
00068      QVBoxLayout *pvArea;
00069      QGridLayout *buttonArea;
00070      QGroupBox *frame;
00071      QLabel *pvName, *pvValue, *pvStatus;
00072      QPushButton *startB, *stopB, *versionB, *quitB, *adjustB,
00073       *histB, *infoB, *formatB;
00074      QLineEdit *textField;
00075    
00076      // channel access related members
00077      chid id;
00078      evid ev;
00079      int pvConnected;
00080    
00081    };