]> git.saurik.com Git - wxWidgets.git/commitdiff
Flatening menu for Smartphones when menubar has only one menu
authorWłodzimierz Skiba <abx@abx.art.pl>
Fri, 18 Jun 2004 09:36:05 +0000 (09:36 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Fri, 18 Jun 2004 09:36:05 +0000 (09:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/dialogs/dialogs.cpp
src/msw/frame.cpp

index 07192e68463a33addad341a1978007b5e3eaff7a..22ff54978c4f621b84c11c795a9533328e3af29b 100644 (file)
@@ -350,13 +350,9 @@ bool MyApp::OnInit()
     file_menu->AppendSeparator();
     file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X"));
 
     file_menu->AppendSeparator();
     file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X"));
 
-#if !defined( __SMARTPHONE__ )
     wxMenuBar *menu_bar = new wxMenuBar;
     menu_bar->Append(file_menu, _T("&File"));
     frame->SetMenuBar(menu_bar);
     wxMenuBar *menu_bar = new wxMenuBar;
     menu_bar->Append(file_menu, _T("&File"));
     frame->SetMenuBar(menu_bar);
-#else
-    frame->SetRightMenu(wxID_ANY, _T("Menu"), file_menu);
-#endif // __SMARTPHONE__
 
     myCanvas = new MyCanvas(frame);
     myCanvas->SetBackgroundColour(*wxWHITE);
 
     myCanvas = new MyCanvas(frame);
     myCanvas->SetBackgroundColour(*wxWHITE);
index fd160920d6644d43240bb8c506fee7fe1516e0bf..1ca248342e661b8e3ee169e84fe4491f04e7fee3 100644 (file)
@@ -319,17 +319,29 @@ void wxFrame::PositionStatusBar()
 void wxFrame::AttachMenuBar(wxMenuBar *menubar)
 {
 #if defined(__SMARTPHONE__)
 void wxFrame::AttachMenuBar(wxMenuBar *menubar)
 {
 #if defined(__SMARTPHONE__)
-    wxMenu *autoMenu = new wxMenu;
 
 
-    for( size_t n = 0; n < menubar->GetMenuCount(); n++ )
+    wxMenu *autoMenu = NULL;
+
+    if( menubar->GetMenuCount() == 1 )
+    {
+        autoMenu = wxTopLevelWindowMSW::ButtonMenu::DuplicateMenu(menubar->GetMenu(0));
+        SetRightMenu(wxID_ANY, menubar->GetLabelTop(0), autoMenu);
+    }
+    else
     {
     {
-        wxMenu *item = menubar->GetMenu(n);
-        wxString label = menubar->GetLabelTop(n);
-        wxMenu *new_item = wxTopLevelWindowMSW::ButtonMenu::DuplicateMenu(item);
-        autoMenu->Append(wxID_ANY, label, new_item);
+        autoMenu = new wxMenu;
+
+        for( size_t n = 0; n < menubar->GetMenuCount(); n++ )
+        {
+            wxMenu *item = menubar->GetMenu(n);
+            wxString label = menubar->GetLabelTop(n);
+            wxMenu *new_item = wxTopLevelWindowMSW::ButtonMenu::DuplicateMenu(item);
+            autoMenu->Append(wxID_ANY, label, new_item);
+        }
+
+        SetRightMenu(wxID_ANY, _("Menu"), autoMenu);
     }
 
     }
 
-    SetRightMenu(wxID_ANY, _("Menu"), autoMenu);
 #elif defined(WINCE_WITHOUT_COMMANDBAR)
     if (!GetToolBar())
     {
 #elif defined(WINCE_WITHOUT_COMMANDBAR)
     if (!GetToolBar())
     {