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 setDelayFocusEnabled(); 00081 void setAutoRaiseEnabled(); 00082 void autoRaiseOnTog(bool);//CT 23Oct1998 00083 void delayFocusOnTog(bool); 00084 void clickRaiseOnTog(bool); 00085 void changed() { emit KCModule::changed(true); } 00086 00087 00088 private: 00089 00090 int getFocus( void ); 00091 int getAutoRaiseInterval( void ); 00092 int getDelayFocusInterval( void ); 00093 00094 void setFocus(int); 00095 void setAutoRaiseInterval(int); 00096 void setAutoRaise(bool); 00097 void setDelayFocusInterval(int); 00098 void setDelayFocus(bool); 00099 void setClickRaise(bool); 00100 void setAltTabMode(bool); 00101 void setTraverseAll(bool); 00102 void setRollOverDesktops(bool); 00103 void setShowPopupinfo(bool); 00104 00105 QButtonGroup *fcsBox; 00106 QComboBox *focusCombo; 00107 QCheckBox *autoRaiseOn; 00108 QCheckBox *delayFocusOn; 00109 QCheckBox *clickRaiseOn; 00110 KIntNumInput *autoRaise; 00111 KIntNumInput *delayFocus; 00112 00113 QButtonGroup *kbdBox; 00114 QCheckBox *altTabPopup; 00115 QCheckBox *traverseAll; 00116 QCheckBox *rollOverDesktops; 00117 QCheckBox *showPopupinfo; 00118 00119 KConfig *config; 00120 bool standAlone; 00121 }; 00122 00123 class KMovingConfig : public KCModule 00124 { 00125 Q_OBJECT 00126 public: 00127 KMovingConfig( bool _standAlone, KConfig *config, QWidget *parent=0, const char* name=0 ); 00128 ~KMovingConfig(); 00129 00130 void load(); 00131 void save(); 00132 void defaults(); 00133 00134 private slots: 00135 void setMinimizeAnim( bool ); 00136 void setMinimizeAnimSpeed( int ); 00137 void changed() { emit KCModule::changed(true); } 00138 00139 private: 00140 int getMove( void ); 00141 bool getMinimizeAnim( void ); 00142 int getMinimizeAnimSpeed( void ); 00143 int getResizeOpaque ( void ); 00144 bool getGeometryTip( void ); //KS 00145 int getPlacement( void ); //CT 00146 00147 void setMove(int); 00148 void setResizeOpaque(int); 00149 void setGeometryTip(bool); //KS 00150 void setPlacement(int); //CT 00151 void setMoveResizeMaximized(bool); 00152 00153 QButtonGroup *windowsBox; 00154 QCheckBox *opaque; 00155 QCheckBox *resizeOpaqueOn; 00156 QCheckBox *geometryTipOn; 00157 QCheckBox* minimizeAnimOn; 00158 QSlider *minimizeAnimSlider; 00159 QLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel; 00160 QCheckBox *moveResizeMaximized; 00161 00162 QComboBox *placementCombo; 00163 00164 KConfig *config; 00165 bool standAlone; 00166 00167 int getBorderSnapZone(); 00168 void setBorderSnapZone( int ); 00169 int getWindowSnapZone(); 00170 void setWindowSnapZone( int ); 00171 00172 QVButtonGroup *MagicBox; 00173 KIntNumInput *BrdrSnap, *WndwSnap; 00174 QCheckBox *OverlapSnap; 00175 00176 }; 00177 00178 class KAdvancedConfig : public KCModule 00179 { 00180 Q_OBJECT 00181 public: 00182 KAdvancedConfig( bool _standAlone, KConfig *config, QWidget *parent=0, const char* name=0 ); 00183 ~KAdvancedConfig(); 00184 00185 void load(); 00186 void save(); 00187 void defaults(); 00188 00189 private slots: 00190 void shadeHoverChanged(bool); 00191 00192 //copied from kcontrol/konq/kwindesktop, aleXXX 00193 void setEBorders(); 00194 00195 void changed() { emit KCModule::changed(true); } 00196 00197 private: 00198 00199 int getShadeHoverInterval (void ); 00200 void setAnimateShade(bool); 00201 void setShadeHover(bool); 00202 void setShadeHoverInterval(int); 00203 00204 QCheckBox *animateShade; 00205 QButtonGroup *shBox; 00206 QCheckBox *shadeHoverOn; 00207 KIntNumInput *shadeHover; 00208 00209 KConfig *config; 00210 bool standAlone; 00211 00212 int getElectricBorders( void ); 00213 int getElectricBorderDelay(); 00214 void setElectricBorders( int ); 00215 void setElectricBorderDelay( int ); 00216 00217 QVButtonGroup *electricBox; 00218 QRadioButton *active_disable; 00219 QRadioButton *active_move; 00220 QRadioButton *active_always; 00221 KIntNumInput *delays; 00222 00223 void setFocusStealing( int ); 00224 00225 QComboBox* focusStealing; 00226 }; 00227 00228 #endif 00229
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