本文整理汇总了C++中wxAuiToolBarEvent::IsDropDownClicked方法的典型用法代码示例。如果您正苦于以下问题:C++ wxAuiToolBarEvent::IsDropDownClicked方法的具体用法?C++ wxAuiToolBarEvent::IsDropDownClicked怎么用?C++ wxAuiToolBarEvent::IsDropDownClicked使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxAuiToolBarEvent
的用法示例。
在下文中一共展示了wxAuiToolBarEvent::IsDropDownClicked方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnSetupRemoteUpload
void PHPWorkspaceView::OnSetupRemoteUpload(wxAuiToolBarEvent& event)
{
if ( !event.IsDropDownClicked() ) {
CallAfter( &PHPWorkspaceView::DoOpenSSHAccountManager );
} else {
SSHWorkspaceSettings settings;
settings.Load();
wxMenu menu;
if ( !settings.IsRemoteUploadSet() ) {
// We never setup remote upload for this workspace
menu.AppendCheckItem(ID_TOGGLE_AUTOMATIC_UPLOAD, _("Enable automatic upload"));
menu.Enable(ID_TOGGLE_AUTOMATIC_UPLOAD, false);
menu.Check(ID_TOGGLE_AUTOMATIC_UPLOAD, false);
} else {
menu.AppendCheckItem(ID_TOGGLE_AUTOMATIC_UPLOAD, _("Enable automatic upload"));
menu.Check(ID_TOGGLE_AUTOMATIC_UPLOAD, settings.IsRemoteUploadEnabled());
menu.Connect(ID_TOGGLE_AUTOMATIC_UPLOAD, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(PHPWorkspaceView::OnToggleAutoUpload), NULL, this);
}
wxAuiToolBar* auibar = dynamic_cast<wxAuiToolBar*>(event.GetEventObject());
if ( auibar ) {
clAuiToolStickness ts(auibar, event.GetToolId());
wxRect rect = auibar->GetToolRect(event.GetId());
wxPoint pt = auibar->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
PopupMenu(&menu, pt);
}
}
}
示例2: OnOpenTerminal
void SFTPTreeView::OnOpenTerminal(wxAuiToolBarEvent& event)
{
// Open terminal to the selected account
if(event.IsDropDownClicked()) {
SFTPTreeViewBase::ShowAuiToolMenu(event);
} else {
SFTPSettings settings;
settings.Load();
wxString accountName = m_choiceAccount->GetStringSelection();
if(accountName.IsEmpty()) {
::wxMessageBox(_("Please select an account to connect to"), "CodeLite", wxICON_ERROR | wxOK);
return;
}
SSHAccountInfo account;
if(!settings.GetAccount(accountName, account)) {
::wxMessageBox(wxString() << _("Could not find account: ") << accountName, "CodeLite", wxICON_ERROR | wxOK);
return;
}
wxString connectString;
connectString << account.GetUsername() << "@" << account.GetHost();
const wxString& sshClient = settings.GetSshClient();
FileUtils::OpenSSHTerminal(sshClient, connectString, account.GetPassword(), account.GetPort());
}
}
示例3: OnFileOpenDropDown
void HtMainFrame::OnFileOpenDropDown (wxAuiToolBarEvent &event)
{
if (event.IsDropDownClicked())
{
wxAuiToolBar *tb = static_cast<wxAuiToolBar *>(event.GetEventObject());
tb->SetToolSticky(event.GetId(), true);
wxMenu menuPopup;
history.AddFilesToMenu(&menuPopup);
// event handler to deal with the menu items
const int start = history.GetBaseId();
const int end = history.GetBaseId() + history.GetMaxFiles();
Connect(start, end, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(HtMainFrame::OnRecentFilesSelected));
// line up our menu with the button
wxRect rect = tb->GetToolRect(event.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
PopupMenu(&menuPopup, pt);
// make sure the button is "un-stuck"
tb->SetToolSticky(event.GetId(), false);
}
else
{
wxCommandEvent dummy;
OnFileOpen(dummy);
}
}
示例4: OnGizmosAUI
void WizardsPlugin::OnGizmosAUI(wxAuiToolBarEvent& e)
{
if (e.IsDropDownClicked()) {
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(e.GetEventObject());
tb->SetToolSticky(e.GetId(), true);
// line up our menu with the button
wxRect rect = tb->GetToolRect(e.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = m_mgr->GetTheApp()->GetTopWindow()->ScreenToClient(pt);
DoPopupButtonMenu(pt);
tb->SetToolSticky(e.GetId(), false);
}
}
示例5: DoOnDropdown
void GitConsole::DoOnDropdown(wxAuiToolBarEvent& e, const wxString& commandName, int id)
{
if(!e.IsDropDownClicked()) {
e.Skip();
return;
}
GitEntry data;
{
clConfig conf("git.conf");
conf.ReadItem(&data);
} // Force conf out of scope, else its dtor clobbers the GitConsole::OnDropDownMenuEvent Save()
GitCommandsEntries& ce = data.GetGitCommandsEntries(commandName);
vGitLabelCommands_t entries = ce.GetCommands();
int lastUsed = ce.GetLastUsedCommandIndex();
wxArrayString arr;
wxMenu menu;
for(size_t n = 0; n < entries.size(); ++n) {
wxMenuItem* item = menu.AppendRadioItem(n, entries.at(n).label);
item->Check(n == (size_t)lastUsed);
arr.Add(entries.at(n).command);
}
menu.Bind(wxEVT_COMMAND_MENU_SELECTED,
wxCommandEventHandler(GitConsole::OnDropDownMenuEvent),
this,
0,
arr.GetCount(),
new GitCommandData(arr, commandName, id));
wxAuiToolBar* auibar = dynamic_cast<wxAuiToolBar*>(e.GetEventObject());
if(auibar) {
clAuiToolStickness ts(auibar, e.GetToolId());
wxRect rect = auibar->GetToolRect(e.GetId());
wxPoint pt = auibar->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
PopupMenu(&menu, pt);
}
menu.Unbind(wxEVT_COMMAND_MENU_SELECTED,
wxCommandEventHandler(GitConsole::OnDropDownMenuEvent),
this,
0,
arr.GetCount(),
new GitCommandData(arr, commandName, id));
}
示例6: OnDropDownToolbarItem
void CFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& event)
{
event.Skip();
ClearStatusBar();
if (event.IsDropDownClicked())
{
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(event.GetEventObject());
tb->SetToolSticky(event.GetId(), true);
// create the popup menu
wxMenu* menuPopup = new wxMenu;
wxMenuItem* Item = new wxMenuItem(menuPopup, IDM_ADD_PERSPECTIVE,
_("Create new perspective"));
menuPopup->Append(Item);
if (Perspectives.size() > 0)
{
menuPopup->Append(new wxMenuItem(menuPopup));
for (u32 i = 0; i < Perspectives.size(); i++)
{
wxMenuItem* mItem = new wxMenuItem(menuPopup, IDM_PERSPECTIVES_0 + i,
StrToWxStr(Perspectives[i].Name),
wxT(""), wxITEM_CHECK);
menuPopup->Append(mItem);
if (i == ActivePerspective)
{
mItem->Check(true);
}
}
}
// line up our menu with the button
wxRect rect = tb->GetToolRect(event.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
// show
PopupMenu(menuPopup, pt);
// make sure the button is "un-stuck"
tb->SetToolSticky(event.GetId(), false);
}
}
示例7: ShowAuiToolMenu
void DiffSideBySidePanelBase::ShowAuiToolMenu(wxAuiToolBarEvent& event)
{
event.Skip();
if (event.IsDropDownClicked()) {
wxAuiToolBar* toolbar = wxDynamicCast(event.GetEventObject(), wxAuiToolBar);
if (toolbar) {
wxAuiToolBarItem* item = toolbar->FindTool(event.GetId());
if (item) {
std::map<int, wxMenu*>::iterator iter = m_dropdownMenus.find(item->GetId());
if (iter != m_dropdownMenus.end()) {
event.Skip(false);
wxPoint pt = event.GetItemRect().GetBottomLeft();
pt.y++;
toolbar->PopupMenu(iter->second, pt);
}
}
}
}
}
示例8: OnOpenTerminal
void SFTPTreeView::OnOpenTerminal(wxAuiToolBarEvent& event)
{
// Open terminal to the selected account
if(event.IsDropDownClicked()) {
SFTPTreeViewBase::ShowAuiToolMenu(event);
} else {
SSHAccountInfo account;
if(!GetAccountFromUser(account)) { return; }
wxString connectString;
connectString << account.GetUsername() << "@" << account.GetHost();
SFTPSettings settings;
settings.Load();
const wxString& sshClient = settings.GetSshClient();
FileUtils::OpenSSHTerminal(sshClient, connectString, account.GetPassword(), account.GetPort());
}
}
示例9: OnDropDownSettingsToolbar
// Toolbar
void CFrame::OnDropDownSettingsToolbar(wxAuiToolBarEvent& event)
{
event.Skip();
ClearStatusBar();
if (event.IsDropDownClicked())
{
wxAuiToolBar* Tb = static_cast<wxAuiToolBar*>(event.GetEventObject());
Tb->SetToolSticky(event.GetId(), true);
// Create the popup menu
wxMenu* menuPopup = new wxMenu;
wxMenuItem* Item = new wxMenuItem(menuPopup, IDM_PERSPECTIVES_ADD_PANE,
_("Add new pane"));
menuPopup->Append(Item);
menuPopup->Append(new wxMenuItem(menuPopup));
Item = new wxMenuItem(menuPopup, IDM_TAB_SPLIT, _("Tab split"),
wxT(""), wxITEM_CHECK);
menuPopup->Append(Item);
Item->Check(m_bTabSplit);
Item = new wxMenuItem(menuPopup, IDM_NO_DOCKING, _("No docking"),
wxT(""), wxITEM_CHECK);
menuPopup->Append(Item);
Item->Check(m_bNoDocking);
// Line up our menu with the button
wxRect rect = Tb->GetToolRect(event.GetId());
wxPoint Pt = Tb->ClientToScreen(rect.GetBottomLeft());
Pt = ScreenToClient(Pt);
// Show
PopupMenu(menuPopup, Pt);
// Make the button un-stuck again
if (!m_bEdit)
{
Tb->SetToolSticky(event.GetId(), false);
}
}
}
示例10: OnToolDropDown
void wxGISApplication::OnToolDropDown(wxAuiToolBarEvent& event)
{
if(event.IsDropDownClicked())
{
wxGISCommand* pCmd = GetCommand(event.GetToolId());
m_pDropDownCommand = dynamic_cast<IDropDownCommand*>(pCmd);
if(m_pDropDownCommand)
{
wxMenu* pMenu = m_pDropDownCommand->GetDropDownMenu();
if(pMenu)
{
PushEventHandler(pMenu);
PopupMenu(pMenu, event.GetItemRect().GetBottomLeft());
PopEventHandler();
delete pMenu;
return;
}
}
}
event.Skip();
}
示例11: OnEditUndoDropDown
void HtMainFrame::OnEditUndoDropDown (wxAuiToolBarEvent &event)
{
if (event.IsDropDownClicked())
{
wxAuiToolBar *tb = static_cast<wxAuiToolBar *>(event.GetEventObject());
tb->SetToolSticky(event.GetId(), true);
wxMenu menuPopup;
menuPopup.Append(wxID_ANY, wxT("Not implemented"));
// line up our menu with the button
wxRect rect = tb->GetToolRect(event.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
PopupMenu(&menuPopup, pt);
// make sure the button is "un-stuck"
tb->SetToolSticky(event.GetId(), false);
}
}
示例12: wxDynamicCast
void wxAuiToolBarXmlHandler::MenuHandler::OnDropDown(wxAuiToolBarEvent& event)
{
if (event.IsDropDownClicked())
{
wxAuiToolBar *toobar = wxDynamicCast(event.GetEventObject(), wxAuiToolBar);
if (toobar != NULL)
{
wxAuiToolBarItem *item = toobar->FindTool(event.GetId());
if (item != NULL)
{
wxMenu * const menu = m_menus[item->GetUserData()];
if (menu != NULL)
{
wxRect rect = item->GetSizerItem()->GetRect();
toobar->PopupMenu(menu, rect.GetRight() - toobar->FromDIP(10), rect.GetBottom());
}
}
}
}
else
{
event.Skip();
}
}