nana/source/gui/widgets/form.cpp
2015-05-17 09:47:58 +08:00

85 lines
2.1 KiB
C++

/*
* A Form Implementation
* Copyright(C) 2003-2013 Jinhao(cnjinhao@hotmail.com)
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*
* @file: nana/gui/widgets/form.cpp
*/
#include <nana/gui/widgets/form.hpp>
namespace nana
{
namespace drawerbase
{
namespace form
{
//class trigger
void trigger::attached(widget_reference wdg, graph_reference graph)
{
wd_ = &wdg;
API::ignore_mouse_focus(wdg, true);
}
void trigger::refresh(graph_reference graph)
{
graph.rectangle(true, API::bgcolor(*wd_));
}
}//end namespace form
}//end namespace drawerbase
//class form
typedef widget_object<category::root_tag, drawerbase::form::trigger, ::nana::detail::events_root_extension> form_base_t;
form::form(const form& fm, const ::nana::size& sz, const appearance& apr)
: form_base_t(fm.handle(), false, API::make_center(fm.handle(), sz.width, sz.height), apr)
{
}
form::form(const rectangle& r, const appearance& apr)
: form_base_t(nullptr, false, r, apr)
{}
form::form(window owner, const ::nana::size& sz, const appearance& apr)
: form_base_t(owner, false, API::make_center(owner, sz.width, sz.height), apr)
{}
form::form(window owner, const rectangle& r, const appearance& apr)
: form_base_t(owner, false, r, apr)
{}
void form::modality() const
{
API::modal_window(handle());
}
void form::wait_for_this()
{
API::wait_for(handle());
}
//end class form
//class nested_form
nested_form::nested_form(const form& fm, const rectangle& r, const appearance& apr)
: form_base_t(fm.handle(), true, r, apr)
{
}
nested_form::nested_form(const nested_form& fm, const rectangle& r, const appearance& apr)
: form_base_t(fm.handle(), true, r, apr)
{
}
nested_form::nested_form(window owner, const appearance& apr)
: form_base_t(owner, true, rectangle(), apr)
{}
nested_form::nested_form(window owner, const rectangle& r, const appearance& apr)
: form_base_t(owner, true, r, apr)
{}
//end nested_form
}//end namespace nana