kwin Library API Documentation

windows.h

00001 /* 00002 * windows.h 00003 * 00004 * Copyright (c) 1997 Patrick Dowler dowler@morgul.fsh.uvic.ca 00005 * Copyright (c) 2001 Waldo Bastian bastian@kde.org 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 Free Software 00019 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00020 */ 00021 00022 #ifndef __KWINDOWCONFIG_H__ 00023 #define __KWINDOWCONFIG_H__ 00024 00025 #include <qwidget.h> 00026 #include <kcmodule.h> 00027 #include <config.h> 00028 00029 class QRadioButton; 00030 class QCheckBox; 00031 class QPushButton; 00032 class QComboBox; 00033 class QLabel; 00034 class QSlider; 00035 class QButtonGroup; 00036 class QSpinBox; 00037 class QVButtonGroup; 00038 00039 class KIntNumInput; 00040 00041 #define TRANSPARENT 0 00042 #define OPAQUE 1 00043 00044 #define CLICK_TO_FOCUS 0 00045 #define FOCUS_FOLLOW_MOUSE 1 00046 00047 #define TITLEBAR_PLAIN 0 00048 #define TITLEBAR_SHADED 1 00049 00050 #define RESIZE_TRANSPARENT 0 00051 #define RESIZE_OPAQUE 1 00052 00053 #define SMART_PLACEMENT 0 00054 #define CASCADE_PLACEMENT 1 00055 #define RANDOM_PLACEMENT 2 00056 #define CENTERED_PLACEMENT 3 00057 #define ZEROCORNERED_PLACEMENT 4 00058 #define INTERACTIVE_PLACEMENT 5 00059 #define MANUAL_PLACEMENT 6 00060 00061 #define CLICK_TO_FOCUS 0 00062 #define FOCUS_FOLLOWS_MOUSE 1 00063 #define FOCUS_UNDER_MOUSE 2 00064 #define FOCUS_STRICTLY_UNDER_MOUSE 3 00065 00066 class QSpinBox; 00067 00068 class KFocusConfig : public KCModule 00069 { 00070 Q_OBJECT 00071 public: 00072 KFocusConfig( bool _standAlone, KConfig *_config, QWidget *parent=0, const char* name=0 ); 00073 ~KFocusConfig(); 00074 00075 void load(); 00076 void save(); 00077 void defaults(); 00078 00079 private slots: 00080 void setAutoRaiseEnabled(); 00081 void autoRaiseOnTog(bool);//CT 23Oct1998 00082 void clickRaiseOnTog(bool); 00083 void changed() { emit KCModule::changed(true); } 00084 00085 00086 private: 00087 00088 int getFocus( void ); 00089 int getAutoRaiseInterval( void ); 00090 00091 void setFocus(int); 00092 void setAutoRaiseInterval(int); 00093 void setAutoRaise(bool); 00094 void setClickRaise(bool); 00095 void setAltTabMode(bool); 00096 void setTraverseAll(bool); 00097 void setRollOverDesktops(bool); 00098 void setShowPopupinfo(bool); 00099 00100 QButtonGroup *fcsBox; 00101 QComboBox *focusCombo; 00102 QCheckBox *autoRaiseOn; 00103 QCheckBox *clickRaiseOn; 00104 KIntNumInput *autoRaise; 00105 00106 QButtonGroup *kbdBox; 00107 QRadioButton *kdeMode; 00108 QRadioButton *cdeMode; 00109 QCheckBox *traverseAll; 00110 QCheckBox *rollOverDesktops; 00111 QCheckBox *showPopupinfo; 00112 00113 KConfig *config; 00114 bool standAlone; 00115 }; 00116 00117 class KMovingConfig : public KCModule 00118 { 00119 Q_OBJECT 00120 public: 00121 KMovingConfig( bool _standAlone, KConfig *config, QWidget *parent=0, const char* name=0 ); 00122 ~KMovingConfig(); 00123 00124 void load(); 00125 void save(); 00126 void defaults(); 00127 00128 private slots: 00129 void setMinimizeAnim( bool ); 00130 void setMinimizeAnimSpeed( int ); 00131 void changed() { emit KCModule::changed(true); } 00132 00133 private: 00134 int getMove( void ); 00135 bool getMinimizeAnim( void ); 00136 int getMinimizeAnimSpeed( void ); 00137 int getResizeOpaque ( void ); 00138 bool getGeometryTip( void ); //KS 00139 int getPlacement( void ); //CT 00140 00141 void setMove(int); 00142 void setResizeOpaque(int); 00143 void setGeometryTip(bool); //KS 00144 void setPlacement(int); //CT 00145 void setMoveResizeMaximized(bool); 00146 00147 QButtonGroup *windowsBox; 00148 QCheckBox *opaque; 00149 QCheckBox *resizeOpaqueOn; 00150 QCheckBox *geometryTipOn; 00151 QCheckBox* minimizeAnimOn; 00152 QSlider *minimizeAnimSlider; 00153 QLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel; 00154 QCheckBox *moveResizeMaximized; 00155 00156 QComboBox *placementCombo; 00157 00158 KConfig *config; 00159 bool standAlone; 00160 00161 int getBorderSnapZone(); 00162 void setBorderSnapZone( int ); 00163 int getWindowSnapZone(); 00164 void setWindowSnapZone( int ); 00165 00166 QVButtonGroup *MagicBox; 00167 KIntNumInput *BrdrSnap, *WndwSnap; 00168 QCheckBox *OverlapSnap; 00169 00170 }; 00171 00172 class KAdvancedConfig : public KCModule 00173 { 00174 Q_OBJECT 00175 public: 00176 KAdvancedConfig( bool _standAlone, KConfig *config, QWidget *parent=0, const char* name=0 ); 00177 ~KAdvancedConfig(); 00178 00179 void load(); 00180 void save(); 00181 void defaults(); 00182 00183 private slots: 00184 void shadeHoverChanged(bool); 00185 00186 //copied from kcontrol/konq/kwindesktop, aleXXX 00187 void setEBorders(); 00188 00189 void changed() { emit KCModule::changed(true); } 00190 00191 private: 00192 00193 int getShadeHoverInterval (void ); 00194 void setAnimateShade(bool); 00195 void setShadeHover(bool); 00196 void setShadeHoverInterval(int); 00197 00198 QCheckBox *animateShade; 00199 QButtonGroup *shBox; 00200 QCheckBox *shadeHoverOn; 00201 KIntNumInput *shadeHover; 00202 00203 KConfig *config; 00204 bool standAlone; 00205 00206 int getElectricBorders( void ); 00207 int getElectricBorderDelay(); 00208 void setElectricBorders( int ); 00209 void setElectricBorderDelay( int ); 00210 00211 QVButtonGroup *electricBox; 00212 QRadioButton *active_disable; 00213 QRadioButton *active_move; 00214 QRadioButton *active_always; 00215 KIntNumInput *delays; 00216 00217 void setFocusStealing( int ); 00218 00219 QComboBox* focusStealing; 00220 }; 00221 00222 #endif 00223
KDE Logo
This file is part of the documentation for kwin Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 16 15:59:33 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003