00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "precomp.h"
00010 #include "API/GUI/popupmenu.h"
00011 #include "API/GUI/component_options.h"
00012 #include "API/GUI/stylemanager.h"
00013 #include "popupmenu_generic.h"
00014
00016
00017
00018 CL_PopupMenu::CL_PopupMenu(
00019 const CL_ComponentOptions &options,
00020 CL_Component *parent,
00021 CL_StyleManager *style)
00022 :
00023 CL_Component(style, options, parent),
00024 impl(NULL)
00025 {
00026 impl = new CL_PopupMenu_Generic(this, options);
00027
00028 style->connect_styles("popupmenu", options, this);
00029 }
00030
00031 CL_PopupMenu::CL_PopupMenu(
00032 const CL_Point &pos,
00033 CL_Component *parent,
00034 CL_StyleManager *style)
00035 :
00036 CL_Component(
00037 style,
00038 CL_PopupMenu_Generic::create_options(pos),
00039 parent),
00040 impl(NULL)
00041 {
00042 CL_ComponentOptions options = CL_PopupMenu_Generic::create_options(pos);
00043
00044 impl = new CL_PopupMenu_Generic(this, options);
00045
00046 style->connect_styles("popupmenu", options, this);
00047 }
00048
00049 CL_PopupMenu::~CL_PopupMenu()
00050 {
00051 delete impl;
00052 }
00053
00055
00056
00058
00059
00061
00062
00063 CL_Signal_v0 &CL_PopupMenu::sig_cancelled()
00064 {
00065 return impl->sig_cancelled;
00066 }
00067
00068 CL_Signal_v1<int> &CL_PopupMenu::sig_clicked()
00069 {
00070 return impl->sig_clicked;
00071 }