• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

Applets

systemtraywidget.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   systemtraywidget.h                                                    *
00003  *                                                                         *
00004  *   Copyright (C) 2007 Alexander Rodin <rodin.alexander@gmail.com>        *
00005  *   Copyright (C) 2007 Jason Stubbs <jasonbstubbs@gmail.com>              *
00006  *                                                                         *
00007  *   This program is free software; you can redistribute it and/or modify  *
00008  *   it under the terms of the GNU General Public License as published by  *
00009  *   the Free Software Foundation; either version 2 of the License, or     *
00010  *   (at your option) any later version.                                   *
00011  *                                                                         *
00012  *   This program is distributed in the hope that it will be useful,       *
00013  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00014  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00015  *   GNU General Public License for more details.                          *
00016  *                                                                         *
00017  *   You should have received a copy of the GNU General Public License     *
00018  *   along with this program; if not, write to the                         *
00019  *   Free Software Foundation, Inc.,                                       *
00020  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA .        *
00021  ***************************************************************************/
00022 
00023 #ifndef SYSTEMTRAYWIDGET_H
00024 #define SYSTEMTRAYWIDGET_H
00025 
00026 // Qt
00027 #include <QGridLayout>
00028 #include <QWidget>
00029 
00030 // Xlib
00031 #include <X11/Xdefs.h>
00032 
00033 class SystemTrayWidget: public QWidget
00034 {
00035 Q_OBJECT
00036 
00037 public:
00038     SystemTrayWidget(QWidget *parent);
00039 
00040     void init();
00041 
00042     void setOrientation(Qt::Orientation);
00043     void setMaximumSize(QSize s);
00044 
00045 protected:
00046     bool x11Event(XEvent *event);
00047 
00048 Q_SIGNALS:
00049     void sizeShouldChange();
00050 
00051 private slots:
00052     void relayoutContainers(QObject *removeContainer = 0);
00053 
00054 private:
00055     void addWidgetToLayout(QWidget *widget);
00056     void doSizeChange();
00057 
00058     QGridLayout *m_mainLayout;
00059     Qt::Orientation m_orientation;
00060     int m_maxCount;
00061     int m_nextRow;
00062     int m_nextColumn;
00063 
00064     // These need to remain allocated for the duration of our lifetime
00065     Atom m_selectionAtom;
00066     Atom m_opcodeAtom;
00067 };
00068 
00069 #endif // SYSTEMTRAYWIDGET_H

Applets

Skip menu "Applets"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

API Reference

Skip menu "API Reference"
  • KWin
  •   KWin Libraries
  • Libraries
  •   libkworkspace
  •   libplasma
  •   libsolidcontrol
  •   libtaskmanager
  • Plasma
  •   Animators
  •   Applets
  •   Engines
  • Solid Modules
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal