本文整理汇总了C++中wxMenu::AppendSubMenu方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMenu::AppendSubMenu方法的具体用法?C++ wxMenu::AppendSubMenu怎么用?C++ wxMenu::AppendSubMenu使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxMenu
的用法示例。
在下文中一共展示了wxMenu::AppendSubMenu方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createMenu
void ddTextTableItemFigure::createMenu(wxMenu &mnu)
{
wxMenu *submenu;
wxMenuItem *item;
mnu.Append(MNU_DDADDCOLUMN, _("Add a column..."));
item = mnu.Append(MNU_DELCOLUMN, _("Delete the selected column..."));
if(getOwnerColumn()->isGeneratedForeignKey())
item->Enable(false);
mnu.Append(MNU_RENAMECOLUMN, _("Rename the selected column..."));
if(getOwnerColumn()->isGeneratedForeignKey() && !getOwnerColumn()->isFkNameGenerated())
mnu.Append(MNU_AUTONAMCOLUMN, _("Activate fk auto-naming..."));
mnu.AppendSeparator();
item = mnu.AppendCheckItem(MNU_NOTNULL, _("Not NULL constraint"));
if(getOwnerColumn()->isNotNull())
item->Check(true);
if(getOwnerColumn()->isGeneratedForeignKey())
item->Enable(false);
mnu.AppendSeparator();
item = mnu.AppendCheckItem(MNU_PKEY, _("Primary Key"));
if(getOwnerColumn()->isPrimaryKey())
item->Check(true);
if(getOwnerColumn()->isGeneratedForeignKey())
item->Enable(false);
item = mnu.AppendCheckItem(MNU_UKEY, _("Unique Key"));
if(getOwnerColumn()->isUniqueKey())
item->Check(true);
mnu.AppendSeparator();
submenu = new wxMenu();
item = mnu.AppendSubMenu(submenu, _("Column datatype"));
if(getOwnerColumn()->isGeneratedForeignKey())
item->Enable(false);
item = submenu->AppendCheckItem(MNU_TYPESERIAL, _("serial"));
item->Check(columnType == dt_bigint);
item = submenu->AppendCheckItem(MNU_TYPEBOOLEAN, _("boolean"));
item->Check(columnType == dt_boolean);
item = submenu->AppendCheckItem(MNU_TYPEINTEGER, _("integer"));
item->Check(columnType == dt_integer);
item = submenu->AppendCheckItem(MNU_TYPEMONEY, _("money"));
item->Check(columnType == dt_money);
item = submenu->AppendCheckItem(MNU_TYPEVARCHAR, _("varchar(n)"));
item->Check(columnType == dt_varchar);
item = submenu->Append(MNU_TYPEOTHER, _("Choose another datatype..."));
mnu.AppendSeparator();
mnu.Append(MNU_TYPEPKEY_CONSTRAINTNAME, _("Primary Key Constraint name..."));
mnu.Append(MNU_TYPEUKEY_CONSTRAINTNAME, _("Unique Key Constraint name..."));
mnu.AppendSeparator();
mnu.Append(MNU_DELTABLE, _("Delete table..."));
};
示例2: setTextPopUpList
//Hack to allow use (events) of wxmenu inside a tool like simpletexttool
void ddDrawingView::setTextPopUpList(wxArrayString &strings, wxMenu &mnu)
{
//DD-TODO: choose a better id for event
mnu.Disconnect(wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)(wxEventFunction) (wxCommandEventFunction) &ddDrawingView::OnTextPopupClick,NULL,this);
int sz = strings.size(); //to avoid warning
wxMenuItem *item = NULL;
wxMenu *submenu = NULL;
bool isSubItem;
bool subItemsDisable=false;
for(int i=0 ; i < sz ; i++){
//DD-TODO: only create options for what I need, this can be improved later
//String "--submenu##menu item**sub menu title" and "--subitem--" create and add items to last created submenu
isSubItem=false;
item=NULL;
if(strings[i].Contains(wxT("--submenu")))
{
if(strings[i].Contains(wxT("--disable")))
subItemsDisable=true;
else
subItemsDisable=false;
submenu = new wxMenu(strings[i].SubString(strings[i].find(wxT("**"))+2,strings[i].length()));
mnu.AppendSubMenu(submenu,strings[i].SubString(strings[i].find(wxT("##"))+2,strings[i].find(wxT("**"))-1));
}
else if(strings[i].Contains(wxT("--subitem")))
{
isSubItem=true;
if(submenu)
{
if(strings[i].Contains(wxT("--checked")))
{
item=submenu->AppendCheckItem(i,strings[i].SubString(strings[i].find(wxT("**"))+2,strings[i].length()));
}
else
{
item=submenu->Append(i,strings[i].SubString(strings[i].find(wxT("**"))+2,strings[i].length()));
}
}
else
{
wxMessageDialog *error = new wxMessageDialog(NULL, wxT("Error setting text popup strings list"), wxT("Error!"), wxOK | wxICON_ERROR);
error->ShowModal();
delete error;
}
}
else if(strings[i].Contains(wxT("--separator--")))
{
mnu.AppendSeparator();
}
else if(strings[i].Contains(wxT("--checked")))
{
item = mnu.AppendCheckItem(i, strings[i].SubString(strings[i].find(wxT("**"))+2,strings[i].length()));
}
else if(strings[i].Contains(wxT("**")))
{
item = mnu.Append(i, strings[i].SubString(strings[i].find(wxT("**"))+2,strings[i].length()));
}
else
{
item = mnu.Append(i, strings[i]);
}
if(item && strings[i].Contains(wxT("--checked")))
{
item->Check(true);
}
if( item && ( strings[i].Contains(wxT("--disable")) || (submenu && isSubItem && subItemsDisable) ) )
{
item->Enable(false);
}
}
//DD-TODO: create a better version of this hack
mnu.Connect(wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)(wxEventFunction) (wxCommandEventFunction) &ddDrawingView::OnTextPopupClick,NULL,this);
}