eckeypad.h

00001 /***************************************************************************
00002  *   Copyright (C) 2003,2005 by David Saxton                               *
00003  *   david@bluehaze.org                                                    *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  ***************************************************************************/
00010 
00011 #ifndef ECKEYPAD_H
00012 #define ECKEYPAD_H
00013 
00014 #include "component.h"
00015 
00020 class ECKeyPad : public Component
00021 {
00022         public:
00023                 ECKeyPad( ICNDocument *icnDocument, bool newItem, const char *id = 0 );
00024                 ~ECKeyPad();
00025         
00026                 static Item* construct( ItemDocument *itemDocument, bool newItem, const char *id );
00027                 static LibraryItem *libraryItem();
00028         
00029                 virtual void buttonStateChanged( const QString &id, bool state );
00030                 virtual bool canFlip() const { return true; }
00031 
00032         protected:
00033                 virtual void dataChanged();
00034                 void initPins( unsigned numCols);
00035                 QString buttonID( int row, int col ) const;
00036                 int sideLength( unsigned numButtons ) const;
00037                 
00038                 Switch *m_switch[4][11];
00039                 unsigned m_numCols;
00040 };
00041 
00042 #endif

Generated on Tue May 8 17:05:29 2007 for KTechLab by  doxygen 1.5.1