00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de> 00002 // See ../LICENSE.txt for license details. 00003 // 00004 // $Id: validators.h 7 2007-05-24 11:03:53Z eg1981 $ 00005 00006 #ifndef __VALIDATORS_H 00007 #define __VALIDATORS_H 00008 00009 #include "ncwm.h" 00010 00011 #include "singleton.h" 00012 00013 class Kernel; 00014 class Monitor; 00015 00016 class Validators; 00017 00019 class Validators : public Singleton<Validators> 00020 { 00021 00022 public: 00023 00024 Validators(); 00025 ~Validators(); 00026 00027 // validation methods 00028 bool isAlwaysPossible(); 00029 00033 bool validateUnhookClient(); 00034 00038 bool validateHookClient(); 00039 00044 bool validateCycleFrame(); 00045 00047 bool validateEndRecord(); 00048 00050 bool validateCancelRecord(); 00051 00053 bool validateBeginRecord(); 00054 00056 bool isWorkspaceFocused(); 00057 00059 bool existMonitors(); 00060 00062 bool existWorkspaces(); 00063 00064 bool isEmptyWorkspaceFocused(); 00065 bool validateDestroyWorkspace(); 00066 bool validateDestroyFrame(); 00067 00068 bool validateDestroyAction(); 00069 00071 bool validateResizeLeft(); 00072 bool validateResizeRight(); 00073 bool validateResizeUp(); 00074 bool validateResizeDown(); 00075 00077 bool existsFrameLeft(); 00078 bool existsFrameRight(); 00079 bool existsFrameUp(); 00080 bool existsFrameDown(); 00081 00083 bool isFrameFocused(); 00084 00086 bool isFrameOrClientFrameFocused(); 00087 00089 bool existFrames(); 00090 00092 bool validateToggleMode(); 00093 00095 bool isClientFrameFocused(); 00096 00098 bool isClientFocused(); 00099 00101 bool isFloatingClientFocused(); 00102 00104 bool existClients(); 00105 00107 bool existClientsWithinFrame(); 00108 00109 bool existsDetachedClient(); 00110 bool existDetachedClients(); 00111 00113 bool validateInputMode(); 00114 00119 bool validateSelectClient(); 00120 #ifdef SLOT_SUPPORT 00121 bool existsSlotClient(); 00122 bool existSlotTabs(); 00123 #endif // SLOT_SUPPORT 00124 00125 }; 00126 00127 #endif // __VALIDATORS_H