stlab.adobe.com Adobe Systems Incorporated

platform_tab_group.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_TAB_GROUP_HPP
00010 #define ADOBE_TAB_GROUP_HPP
00011 
00012 #include <adobe/config.hpp>
00013 
00014 #include <vector>
00015 
00016 #include <boost/utility.hpp>
00017 #include <boost/function.hpp>
00018 
00019 #include <adobe/any_regular.hpp>
00020 #include <adobe/extents.hpp>
00021 #include <adobe/layout_attributes.hpp>
00022 #include <adobe/widget_attributes.hpp>
00023 #include <adobe/future/widgets/headers/widget_utils.hpp>
00024 
00025 /****************************************************************************************************/
00026 
00027 namespace adobe {
00028 
00029 /****************************************************************************************************/
00030 
00031 struct tab_group_t : boost::noncopyable
00032 {
00033     typedef any_regular_t model_type;
00034     typedef tab_group_t  widget_type_t;
00035     typedef boost::function<void (const any_regular_t&)> tab_group_value_proc_t;
00036 
00037     struct tab_t {
00038         std::string             name_m;
00039         any_regular_t    value_m;
00040     };
00041 
00042     typedef std::vector<tab_t>  tab_set_t;
00043     
00044     tab_group_t(const tab_t* first, const tab_t* last, theme_t theme);
00045 
00046 
00047     void        initialize(HWND parent);
00048 
00049     void        measure(extents_t& result);
00050     void        place(const place_data_t& place_data);
00051 
00052     void        display(const any_regular_t& new_value);
00053     void        monitor(const tab_group_value_proc_t& proc);
00054 
00055     void        enable(bool make_enabled) { set_control_enabled(control_m, make_enabled); }
00056     void        set_visible(bool make_visible) { set_control_visible(control_m, make_visible); }
00057 
00058 
00059     HWND                    control_m;
00060     theme_t          theme_m;
00061     tab_group_value_proc_t  value_proc_m;
00062     tab_set_t               items_m;
00063 };
00064 
00065 /****************************************************************************************************/
00066 
00067 } //namespace adobe
00068 /****************************************************************************************************/
00069 
00070 
00071 #endif 

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