stlab.adobe.com Adobe Systems Incorporated

platform_optional_panel.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_OPTIONAL_PANEL_HPP
00010 #define ADOBE_WIDGET_OPTIONAL_PANEL_HPP
00011 
00012 /****************************************************************************************************/
00013 
00014 #include <adobe/config.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 
00021 #include <boost/function.hpp>
00022 #include <boost/noncopyable.hpp>
00023 
00024 #include <adobe/future/widgets/headers/platform_panel.hpp>
00025 
00026 /****************************************************************************************************/
00027 
00028 namespace adobe {
00029 
00030 /****************************************************************************************************/
00031 
00040 struct optional_panel_t : boost::noncopyable
00041 {
00043     typedef any_regular_t model_type;
00044 
00047     typedef boost::function<void (const boost::function<void ()>&)> optional_display_proc_t;
00048 
00050     optional_panel_t(const any_regular_t& show_value,
00051                      theme_t              theme);
00052 
00059     void measure(extents_t& result);
00060 
00061     void place(const place_data_t& place_data);
00063 
00070     void display(const any_regular_t& value);
00072 
00073 #ifndef ADOBE_NO_DOCUMENTATION
00074     void set_optional_display_procs(const optional_display_proc_t& show_proc,
00075                                     const optional_display_proc_t& hide_proc)
00076     {
00077         show_proc_m = show_proc;
00078         hide_proc_m = hide_proc;
00079     }
00080 
00081     panel_t                 control_m;
00082     optional_display_proc_t show_proc_m;
00083     optional_display_proc_t hide_proc_m;
00084     bool                    inited_m;
00085 #endif
00086 };
00087 
00088 /****************************************************************************************************/
00089 
00090 } // namespace adobe
00091 
00092 /****************************************************************************************************/
00093 
00094 #endif
00095 
00096 /****************************************************************************************************/

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