platform_progress_bar.hpp
Go to the documentation of this file.
00001 /* 00002 Copyright 2005-2007 Adobe Systems Incorporated 00003 Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt 00004 or a copy at http://stlab.adobe.com/licenses.html) 00005 */ 00006 00007 /****************************************************************************************************/ 00008 00009 #ifndef ADOBE_PROGRESS_BAR_HPP 00010 #define ADOBE_PROGRESS_BAR_HPP 00011 00012 #include <adobe/config.hpp> 00013 00014 #include <boost/utility.hpp> 00015 00016 #include <adobe/any_regular.hpp> 00017 #include <adobe/extents.hpp> 00018 #include <adobe/layout_attributes.hpp> 00019 #include <adobe/widget_attributes.hpp> 00020 #include <adobe/future/widgets/headers/widget_utils.hpp> 00021 #include <adobe/future/widgets/headers/value_range_format.hpp> 00022 00023 /****************************************************************************************************/ 00024 00025 namespace adobe { 00026 00027 /****************************************************************************************************/ 00028 00036 enum pb_style_t 00037 { 00040 pb_style_progress_bar_s, 00041 00045 pb_style_relevance_bar_s, 00046 00051 pb_style_indeterminate_bar_s 00052 }; 00053 00054 /****************************************************************************************************/ 00055 00061 struct progress_bar_t : boost::noncopyable 00062 { 00064 typedef ::SInt32 model_type; 00065 00067 progress_bar_t(pb_style_t bar_style, 00068 bool is_vertical, 00069 const value_range_format_t& format, 00070 unsigned long min, 00071 unsigned long max, 00072 theme_t theme); 00073 00080 void measure(extents_t& result); 00081 00082 void place(const place_data_t& place_data); 00084 00091 void display(const ::SInt32& value); 00093 00094 #ifndef ADOBE_NO_DOCUMENTATION 00095 ::ControlRef control_m; 00096 mutable metric_extractor_t metrics_m; 00097 00098 pb_style_t bar_style_m; 00099 bool is_vertical_m; 00100 value_range_format_t format_m; 00101 theme_t theme_m; 00102 00103 double last_m; 00104 double value_m; 00105 #endif 00106 }; 00107 00108 /****************************************************************************************************/ 00109 00110 } // namespace adobe 00111 00112 /****************************************************************************************************/ 00113 00114 #endif 00115 00116 /****************************************************************************************************/ |