]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/menu.cpp
Oops.
[wxWidgets.git] / src / gtk1 / menu.cpp
index e2b79dbf829a6a1c3f3825aa301afa71a0d562f2..46b158cce4036b2456b2743b0f725ef1fa2c70cf 100644 (file)
@@ -37,7 +37,8 @@ wxMenuBar::wxMenuBar( long style )
 {
     /* the parent window is known after wxFrame::SetMenu() */
     m_needParent = FALSE; 
-
+    m_style = style;
+    
     PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, style, "menu" );
 
     m_menus.DeleteContents( TRUE );
@@ -69,7 +70,8 @@ wxMenuBar::wxMenuBar()
 {
     /* the parent window is known after wxFrame::SetMenu() */
     m_needParent = FALSE;
-
+    m_style = 0;
+    
     PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, "menu" );
 
     m_menus.DeleteContents( TRUE );
@@ -216,7 +218,13 @@ void wxMenuBar::Append( wxMenu *menu, const wxString &title )
     entry.accelerator = (gchar*) NULL;
     entry.callback = (GtkItemFactoryCallback) NULL;
     entry.callback_action = 0;
-    entry.item_type = "<Branch>";
+    
+/*
+    if ((m_style & wxMB_TEAROFF) || (menu->GetStyle() & wxMENU_TEAROFF)) 
+        entry.item_type = "<Tearoff>";
+    else
+*/
+        entry.item_type = "<Branch>";
     
     gtk_item_factory_create_item( m_factory, &entry, (gpointer) this, 2 );  /* what is 2 ? */
     
@@ -232,6 +240,16 @@ void wxMenuBar::Append( wxMenu *menu, const wxString &title )
     
     gtk_menu_item_set_submenu( GTK_MENU_ITEM(menu->m_owner), menu->m_menu );
     
+/*
+    if ((m_style & wxMB_TEAROFF) || (menu->GetStyle() & wxMENU_TEAROFF)) 
+    {
+        entry.item_type = "<Tearoff>";
+       tmp.Remove( 0, 6 );
+       tmp.Append( _T("/tearoff") );
+        strcpy( buf, tmp.mb_str() );
+        gtk_item_factory_create_item( m_factory, &entry, (gpointer) this, 2 );
+    }
+*/
 #else
 
     menu->m_owner = gtk_menu_item_new_with_label( str.mb_str() );
@@ -632,11 +650,23 @@ bool wxMenuItem::IsChecked() const
 
 IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
 
-wxMenu::wxMenu( const wxString& title, const wxFunction func )
+wxMenu::wxMenu( const wxString& title, const wxFunction func, long style )
+{
+   Init(title, func, style);
+}
+
+wxMenu::wxMenu(long style)
+{
+   Init(wxEmptyString, (wxFunction) NULL, style);
+}
+
+void
+wxMenu::Init( const wxString& title, const wxFunction func, long style )
 {
     m_title = title;
     m_items.DeleteContents( TRUE );
     m_invokingWindow = (wxWindow *) NULL;
+    m_style = style;
     
 #if (GTK_MINOR_VERSION > 0)
     m_accel = gtk_accel_group_new();
@@ -829,7 +859,13 @@ void wxMenu::Append( int id, const wxString &item, wxMenu *subMenu, const wxStri
     entry.path = buf;
     entry.callback = (GtkItemFactoryCallback) 0;
     entry.callback_action = 0;
-    entry.item_type = "<Branch>";
+    
+/*
+    if (m_style & wxMENU_TEAROFF)
+        entry.item_type = "<Tearoff>";
+    else
+*/
+        entry.item_type = "<Branch>";
     
     gtk_item_factory_create_item( m_factory, &entry, (gpointer) this, 2 );  /* what is 2 ? */