/[svn]/qsampler/trunk/src/qsamplerDeviceStatusForm.h
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerDeviceStatusForm.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2037 by schoenebeck, Sun Feb 17 10:46:17 2008 UTC revision 2038 by capela, Thu Jan 7 18:42:26 2010 UTC
# Line 2  Line 2 
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2008, Christian Schoenebeck     Copyright (C) 2008, Christian Schoenebeck
5       Copyright (C) 2010, rncbc aka Rui Nuno Capela. All rights reserved.
6    
7     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License     modify it under the terms of the GNU General Public License
# Line 29  Line 30 
30  #include <QCloseEvent>  #include <QCloseEvent>
31  #include <QLabel>  #include <QLabel>
32  #include <QTimer>  #include <QTimer>
33    
34  #include <map>  #include <map>
35    
36    
37  namespace QSampler {  namespace QSampler {
38    
39  class MidiActivityLED : public QLabel {  class MidiActivityLED : public QLabel
40    {
41          Q_OBJECT          Q_OBJECT
42    
43  public:  public:
44          MidiActivityLED(QString text = "", QWidget* parent = 0);  
45          void midiDataArrived();          MidiActivityLED(QString sText = QString(), QWidget *pParent = 0);
46            ~MidiActivityLED();
47    
48            void midiActivityLedOn();
49    
50  protected slots:  protected slots:
51          void midiDataCeased();  
52            void midiActivityLedOff();
53    
54  private:  private:
55          QTimer timer;  
56            QTimer m_timer;
57    
58            // MIDI activity pixmap common resources.
59            static int      g_iMidiActivityRefCount;
60            static QPixmap *g_pMidiActivityLedOn;
61            static QPixmap *g_pMidiActivityLedOff;
62  };  };
63    
64  class DeviceStatusForm : public QMainWindow {  
65    class DeviceStatusForm : public QWidget
66    {
67          Q_OBJECT          Q_OBJECT
68    
69  public:  public:
70          DeviceStatusForm(int DeviceID, QWidget* pParent = NULL, Qt::WindowFlags wflags = 0);  
71            DeviceStatusForm(int DeviceID,
72                    QWidget* pParent = NULL, Qt::WindowFlags wflags = 0);
73          ~DeviceStatusForm();          ~DeviceStatusForm();
74          QAction* visibleAction();  
75            QAction *visibleAction();
76    
77          void midiArrived(int iPort);          void midiArrived(int iPort);
78    
79          static DeviceStatusForm* getInstance(int iDeviceID);          static DeviceStatusForm *getInstance(int iDeviceID);
80          static const std::map<int, DeviceStatusForm*>& getInstances();          static const std::map<int, DeviceStatusForm *>& getInstances();
81    
82          static void onDevicesChanged();          static void onDevicesChanged();
83          static void onDeviceChanged(int iDeviceID);          static void onDeviceChanged(int iDeviceID);
84    
85          static void deleteAllInstances();          static void deleteAllInstances();
86    
87  protected:  protected:
         void closeEvent(QCloseEvent* event);  
         void updateGUIPorts();  
88    
89          std::vector<MidiActivityLED*> midiActivityLEDs;          void closeEvent(QCloseEvent *pCloseEvent);
90            void updateGUIPorts();
91    
92  private:  private:
         int m_DeviceID;  
         Device* m_pDevice;  
         QAction* m_pVisibleAction;  
93    
94          static std::map<int, DeviceStatusForm*> instances;          int      m_DeviceID;
95            Device  *m_pDevice;
96            QAction *m_pVisibleAction;
97    
98            std::vector<MidiActivityLED *> m_midiActivityLEDs;
99    
100            static std::map<int, DeviceStatusForm*> g_instances;
101  };  };
102    
103  } // namespace QSampler  } // namespace QSampler
104    
105    
106  #endif // __qsamplerDeviceStatusForm_h  #endif // __qsamplerDeviceStatusForm_h
107    
108  // end of qsamplerDeviceStatusForm.h  // end of qsamplerDeviceStatusForm.h

Legend:
Removed from v.2037  
changed lines
  Added in v.2038

  ViewVC Help
Powered by ViewVC