00001 #ifndef bounded_value_h 00002 #define bounded_value_h 00003 00004 #include <InterViews/adjust.h> 00005 00006 class BoundedValue : public Adjustable { 00007 protected: 00008 BoundedValue(); 00009 public: 00010 BoundedValue(Coord lower, Coord upper); 00011 virtual ~BoundedValue(); 00012 00013 virtual void lower_bound(Coord); 00014 virtual void upper_bound(Coord); 00015 virtual void current_value(Coord); 00016 virtual void scroll_incr(Coord); 00017 virtual void page_incr(Coord); 00018 00019 virtual Coord lower(DimensionName) const; 00020 virtual Coord upper(DimensionName) const; 00021 virtual Coord length(DimensionName) const; 00022 virtual Coord cur_lower(DimensionName) const; 00023 virtual Coord cur_upper(DimensionName) const; 00024 virtual Coord cur_length(DimensionName) const; 00025 00026 virtual void scroll_to(DimensionName, Coord position); 00027 virtual void scroll_forward(DimensionName); 00028 virtual void scroll_backward(DimensionName); 00029 virtual void page_forward(DimensionName); 00030 virtual void page_backward(DimensionName); 00031 private: 00032 Coord curvalue_; 00033 Coord lower_; 00034 Coord span_; 00035 Coord scroll_incr_; 00036 Coord page_incr_; 00037 }; 00038 00039 00040 #endif