Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Examples

vos/gui/gui/input_numeric_slider.hh

Go to the documentation of this file.
00001 /* $Id: input_numeric_slider.hh,v 1.7 2003/07/24 05:18:26 tetron Exp $ */
00002 
00003 /*  Copyright (C) 2003 Reed Hedges <reed@interreality.org>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00018 
00019 */
00020 
00021 #ifndef _GUI_INPUT_NUMSL_HH_
00022 #define _GUI_INPUT_NUMSL_HH_
00023 
00024 
00025 #if defined(_WIN32) && defined(_MSC_VER)
00026 # ifdef VOSGUI_EXPORTS
00027 #  define VOSGUI_API __declspec(dllexport)
00028 # else
00029 #  define VOSGUI_API __declspec(dllimport)
00030 # endif
00031 #else
00032 # define VOSGUI_API
00033 #endif
00034 
00035 #include <vos/corelibs/vos/vos.hh>
00036 #include <vos/metaobjects/property/property.hh>
00037 #include <vos/gui/gui/input_numeric.hh>
00038 
00039 namespace VOSGUI {
00040 
00041 /** MetaObject for a "sliding" numeric input.  */
00042 
00043 class VOSGUI_API SliderNumericInput : public virtual NumericInput {
00044 
00045 public:
00046 
00047     /** Constructor */
00048     SliderNumericInput(MetaObject* superobject);
00049 
00050     /** Destructor */
00051     virtual ~SliderNumericInput();
00052 
00053     /** Return type string ("gui:widget.input") */
00054     virtual const string getType();
00055 
00056     /** Register Extenders */
00057     static void registerExtenders();
00058 
00059     /** @name Access Subobjects */
00060     //@{
00061 
00062     /** Get the value of gui:orientation property ("horizontal" or "vertical" */
00063     virtual string getOrientation();
00064 
00065     /** Set gui:orientation property. 
00066         @param value The new value, muste be either "horizontal" or "vertical" 
00067         @param ac Property access control policy. If omitted, then &NoAccessControl::static_ will be used. 
00068     */
00069     virtual void setOrientation(const string& value, PropertyAccessControl* ac = 0);
00070 
00071     /** Get the gui:orientation object. */
00072     virtual Property* getOrientationObject();
00073 
00074     /** Set the gui:orientation object.
00075         @param newobj   The new subobject. */
00076     virtual void setOrientationObject(Property* newobj);
00077 
00078     /** Get the value of gui:show-labels property (If the value of this property is "yes", then the
00079         input widget may be more than one line tall, and the user
00080         may input more than one line (seperated by a newline
00081         charater, ASCII value 10). If absent, a default value of
00082         "no" should be used.
00083     ). */
00084     virtual bool getShowLabels();
00085 
00086     /** Set gui:show-labels property. 
00087         @param value The new value
00088         @param ac Property access control policy. If omitted, then &NoAccessControl::static_ will be used. 
00089     */
00090     virtual void setShowLabels(bool value = true, PropertyAccessControl* ac = 0);
00091 
00092     /** Get the gui:show-labels object. */
00093     virtual Property* getShowLabelsObject();
00094 
00095     /** Set the gui:show-labels object.
00096         @param newobj   The new subobject. */
00097     virtual void setShowLabelsObject(Property* newobj);
00098 
00099 };
00100 
00101 /** Local version of SliderNumericInput. */
00102 
00103 class VOSGUI_API LocalSliderNumericInput : public virtual SliderNumericInput, public virtual LocalNumericInput {
00104 
00105 public:
00106 
00107     /** Constructor */
00108     LocalSliderNumericInput(MetaObject* superobject);
00109 
00110     /** Destructor */
00111     ~LocalSliderNumericInput();
00112 
00113     /** Initialize required subproperties with given access control. */
00114     virtual void initialize(PropertyAccessControl* ac);
00115 
00116 
00117     /** Static generator, for site factory. */
00118     static MetaObject* new_LocalSliderNumericInput(MetaObject* superobject, const string& type);
00119 
00120 };
00121 
00122 /** Remote proxy for SliderNumericInput */
00123 
00124 class VOSGUI_API RemoteSliderNumericInput : public virtual SliderNumericInput, public virtual RemoteNumericInput {
00125 
00126 public:
00127 
00128     /** Constructor */
00129     RemoteSliderNumericInput(MetaObject* superobject);
00130 
00131     /** Destructor */
00132     virtual ~RemoteSliderNumericInput();
00133 
00134     /** Static generator, for factory. */
00135     static MetaObject* new_RemoteSliderNumericInput(MetaObject* superobject, const string& type);
00136 
00137 };
00138 
00139 
00140 } // end of namespace VOSGUI
00141 #endif // #ifndef _GUI_INPUT_HH_
00142 

Generated on Tue Aug 12 03:55:43 2003 for Interreality Project - VOS by doxygen 1.3.2