kwin Library API Documentation

ruleswidget.h

00001 /* 00002 * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org> 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 */ 00018 00019 00020 #ifndef __RULESWIDGET_H__ 00021 #define __RULESWIDGET_H__ 00022 00023 #include <kdialogbase.h> 00024 00025 #include "ruleswidgetbase.h" 00026 00027 namespace KWinInternal 00028 { 00029 00030 class Rules; 00031 class DetectDialog; 00032 00033 class RulesWidget 00034 : public RulesWidgetBase 00035 { 00036 Q_OBJECT 00037 public: 00038 RulesWidget( QWidget* parent = NULL, const char* name = NULL ); 00039 void setRules( Rules* r ); 00040 Rules* rules() const; 00041 bool finalCheck(); 00042 bool setWindow( WId w ); 00043 signals: 00044 void changed( bool state ); 00045 protected slots: 00046 virtual void detectClicked(); 00047 virtual void wmclassMatchChanged(); 00048 virtual void roleMatchChanged(); 00049 virtual void titleMatchChanged(); 00050 virtual void extraMatchChanged(); 00051 virtual void machineMatchChanged(); 00052 private slots: 00053 // geometry tab 00054 void updateEnableposition(); 00055 void updateEnablesize(); 00056 void updateEnabledesktop(); 00057 void updateEnablemaximizehoriz(); 00058 void updateEnablemaximizevert(); 00059 void updateEnableminimize(); 00060 void updateEnableshade(); 00061 void updateEnablefullscreen(); 00062 void updateEnableplacement(); 00063 // preferences tab 00064 void updateEnableabove(); 00065 void updateEnablebelow(); 00066 void updateEnablenoborder(); 00067 void updateEnableskiptaskbar(); 00068 void updateEnableskippager(); 00069 void updateEnableacceptfocus(); 00070 void updateEnablecloseable(); 00071 // workarounds tab 00072 void updateEnablefsplevel(); 00073 void updateEnablemoveresizemode(); 00074 void updateEnabletype(); 00075 void updateEnableignoreposition(); 00076 void updateEnableminsize(); 00077 void updateEnablemaxsize(); 00078 // internal 00079 void detected( bool ); 00080 private: 00081 DetectDialog* detect_dlg; 00082 bool detect_dlg_ok; 00083 }; 00084 00085 class RulesDialog 00086 : public KDialogBase 00087 { 00088 Q_OBJECT 00089 public: 00090 RulesDialog( QWidget* parent = NULL, const char* name = NULL ); 00091 Rules* edit( Rules* r, WId w = 0 ); 00092 protected: 00093 virtual void accept(); 00094 private: 00095 RulesWidget* widget; 00096 Rules* rules; 00097 }; 00098 00099 } // namespace 00100 00101 #endif
KDE Logo
This file is part of the documentation for kwin Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 13 21:47:06 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003