stlab.adobe.com Adobe Systems Incorporated

platform_reveal.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_WIDGET_REVEAL_HPP
00010 #define ADOBE_WIDGET_REVEAL_HPP
00011 
00012 /****************************************************************************************************/
00013 
00014 #include <adobe/config.hpp>
00015 
00016 #define WINDOWS_LEAN_AND_MEAN 1
00017 #include <windows.h>
00018 
00019 #include <adobe/any_regular.hpp>
00020 
00021 #include <adobe/future/widgets/headers/platform_label.hpp>
00022 
00023 #include <boost/function.hpp>
00024 
00025 /****************************************************************************************************/
00026 
00027 namespace adobe {
00028 
00029 /****************************************************************************************************/
00030 
00031 struct reveal_t : boost::noncopyable
00032 {
00033     typedef any_regular_t model_type;
00034 
00035     typedef boost::function<void (const model_type&)> setter_type;
00036 
00037     reveal_t(const std::string&             name,
00038              const any_regular_t&   show_value,
00039              theme_t                        theme,
00040              const std::string&             alt_text);
00041 
00042     void initialize(HWND parent);
00043 
00044     void measure(extents_t& result);
00045 
00046     void place(const place_data_t& place_data);
00047 
00048     void display(const any_regular_t& value);
00049 
00050     void monitor(const setter_type& proc);
00051 
00052     HWND                    control_m;
00053     theme_t          theme_m;
00054     label_t         name_m;
00055     bool                    using_label_m;
00056     setter_type             hit_proc_m;
00057     any_regular_t   show_value_m;
00058     any_regular_t   current_value_m;
00059     std::string             alt_text_m;
00060 };
00061 
00062 /****************************************************************************************************/
00063 
00064 namespace view_implementation {
00065 
00066 /****************************************************************************************************/
00067 
00068 void set_value_from_model(reveal_t& value, const any_regular_t& new_value);
00069 
00070 /****************************************************************************************************/
00071 
00072 } // namespace view_implementation
00073 
00074 /****************************************************************************************************/
00075 
00076 } // namespace adobe
00077 
00078 /****************************************************************************************************/
00079 
00080 #endif
00081 
00082 /****************************************************************************************************/

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google