Crazy Eddie's GUI System
0.8.4
|
00001 /*********************************************************************** 00002 created: 13/6/2004 00003 author: Paul D Turner 00004 00005 purpose: Interface for the Combobox Drop-List widget base class 00006 *************************************************************************/ 00007 /*************************************************************************** 00008 * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team 00009 * 00010 * Permission is hereby granted, free of charge, to any person obtaining 00011 * a copy of this software and associated documentation files (the 00012 * "Software"), to deal in the Software without restriction, including 00013 * without limitation the rights to use, copy, modify, merge, publish, 00014 * distribute, sublicense, and/or sell copies of the Software, and to 00015 * permit persons to whom the Software is furnished to do so, subject to 00016 * the following conditions: 00017 * 00018 * The above copyright notice and this permission notice shall be 00019 * included in all copies or substantial portions of the Software. 00020 * 00021 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00022 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00023 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00024 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 00025 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 00026 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 00027 * OTHER DEALINGS IN THE SOFTWARE. 00028 ***************************************************************************/ 00029 #ifndef _CEGUIComboDropList_h_ 00030 #define _CEGUIComboDropList_h_ 00031 00032 #include "./Listbox.h" 00033 00034 00035 #if defined(_MSC_VER) 00036 # pragma warning(push) 00037 # pragma warning(disable : 4251) 00038 #endif 00039 00040 00041 // Start of CEGUI namespace section 00042 namespace CEGUI 00043 { 00048 class CEGUIEXPORT ComboDropList : public Listbox 00049 { 00050 public: 00051 static const String EventNamespace; 00052 static const String WidgetTypeName; 00053 00054 00055 /************************************************************************* 00056 Constants 00057 *************************************************************************/ 00058 // Event names 00064 static const String EventListSelectionAccepted; 00065 00066 00077 virtual void initialiseComponents(void); 00078 00079 00098 void setArmed(bool setting) { d_armed = setting; } 00099 00100 00111 bool isArmed(void) const { return d_armed; } 00112 00113 00125 void setAutoArmEnabled(bool setting) { d_autoArm = setting; } 00126 00127 00136 bool isAutoArmEnabled(void) const { return d_autoArm; } 00137 00139 void resizeToContent(bool fit_width, bool fit_height); 00140 00141 /************************************************************************* 00142 Constructor & Destructor 00143 *************************************************************************/ 00148 ComboDropList(const String& type, const String& name); 00149 00150 00155 virtual ~ComboDropList(void); 00156 00157 00158 protected: 00159 /************************************************************************* 00160 New event handlers 00161 *************************************************************************/ 00166 void onListSelectionAccepted(WindowEventArgs& e); 00167 00168 00169 /************************************************************************* 00170 Overridden Event handling 00171 *************************************************************************/ 00172 virtual void onMouseMove(MouseEventArgs& e); 00173 virtual void onMouseButtonDown(MouseEventArgs& e); 00174 virtual void onMouseButtonUp(MouseEventArgs& e); 00175 virtual void onCaptureLost(WindowEventArgs& e); 00176 virtual void onActivated(ActivationEventArgs& e); 00177 virtual void onListContentsChanged(WindowEventArgs& e); 00178 virtual void onSelectionChanged(WindowEventArgs& e); 00179 00180 /************************************************************************* 00181 Implementation Data 00182 *************************************************************************/ 00183 bool d_autoArm; 00184 bool d_armed; 00185 ListboxItem* d_lastClickSelected; 00186 }; 00187 00188 } // End of CEGUI namespace section 00189 00190 #if defined(_MSC_VER) 00191 # pragma warning(pop) 00192 #endif 00193 00194 #endif // end of guard _CEGUIComboDropList_h_