File indexing completed on 2024-04-14 03:59:57

0001 //
0002 // C++ Interface: cstatusvarlist
0003 //
0004 // Description: 
0005 //
0006 /*
0007 Copyright 2004-2011 Tomas Mecir <kmuddy@kmuddy.com>
0008 
0009 This program is free software; you can redistribute it and/or
0010 modify it under the terms of the GNU General Public License as
0011 published by the Free Software Foundation; either version 2 of 
0012 the License, or (at your option) any later version.
0013 
0014 This program is distributed in the hope that it will be useful,
0015 but WITHOUT ANY WARRANTY; without even the implied warranty of
0016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017 GNU General Public License for more details.
0018 
0019 You should have received a copy of the GNU General Public License
0020 along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021 */
0022 
0023 #ifndef CSTATUSVARLIST_H
0024 #define CSTATUSVARLIST_H
0025 
0026 #include "clist.h"
0027 
0028 class cStatusVar;
0029 
0030 /**
0031 This class holds a list of status vars.
0032 
0033 @author Tomas Mecir
0034 */
0035 class cStatusVarList : public cList
0036 {
0037  public:
0038   cStatusVarList ();
0039   ~cStatusVarList () override;
0040   
0041   static cList *newList () { return new cStatusVarList; };
0042   cListObject *newObject () override;
0043   QString objName () override { return "Status variable"; }
0044   cListEditor *editor (QWidget *parent) override;
0045 
0046   void variableChanged (const QString &varname);
0047  private:
0048   struct Private;
0049   Private *d;
0050   friend class cStatusVar;
0051 
0052   void listLoaded () override;
0053 
0054   QString variableName () const;
0055 
0056   void scheduleUpdate ();
0057   void updateStatusBar ();
0058   void addToStatusBar (const QString &text);
0059 };
0060 
0061 #endif