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 Sat Sep 25 20:35:06 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003