cd ../..
cp wxGTK.spec ~/wxgtk_dist/wxGTK
-cp Makefile ~/wxgtk_dist/wxGTK
+cp Makefile.in ~/wxgtk_dist/wxGTK
cp configure ~/wxgtk_dist/wxGTK
-cp configure.in ~/wxgtk_dist/wxGTK
cp config.sub ~/wxgtk_dist/wxGTK
cp config.guess ~/wxgtk_dist/wxGTK
cp install-sh ~/wxgtk_dist/wxGTK
+cp ltconfig ~/wxgtk_dist/wxGTK
+cp ltmain.sh ~/wxgtk_dist/wxGTK
+cp missing ~/wxgtk_dist/wxGTK
cp mkinstalldirs ~/wxgtk_dist/wxGTK
-cp template.mak ~/wxgtk_dist/wxGTK
cp wx-config.in ~/wxgtk_dist/wxGTK
+cp setup.h.in ~/wxgtk_dist/wxGTK
echo Docs..
mkdir ~/wxgtk_dist/wxGTK/include
cd include
-cp install-sh ~/wxgtk_dist/wxGTK/include
+cp Makefile.in ~/wxgtk_dist/wxGTK/include
mkdir ~/wxgtk_dist/wxGTK/include/wx
cd wx
-cp install-sh ~/wxgtk_dist/wxGTK/include/wx
cp *.h ~/wxgtk_dist/wxGTK/include/wx
cp *.cpp ~/wxgtk_dist/wxGTK/include/wx
+cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx
mkdir ~/wxgtk_dist/wxGTK/include/wx/generic
cd generic
cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic
+cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/generic
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/unix
cd unix
cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix
+cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/unix
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
cd gtk
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
+cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/gtk
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol
cd protocol
cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol
+cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/protocol
cd ..
cd ..
cd ..
-echo Base lib..
-
-mkdir ~/wxgtk_dist/wxGTK/lib
-cp ./lib/dummy ~/wxgtk_dist/wxGTK/lib
-
echo Misc dir..
mkdir ~/wxgtk_dist/wxGTK/misc
cp ./misc/afm/*.afm ~/wxgtk_dist/wxGTK/misc/afm
cp ./misc/gs_afm/*.afm ~/wxgtk_dist/wxGTK/misc/gs_afm
-echo Setup dir..
-
-cd setup
-mkdir ~/wxgtk_dist/wxGTK/setup
-cp maketmpl.in ~/wxgtk_dist/wxGTK/setup
-cp setup.hin ~/wxgtk_dist/wxGTK/setup
-cp substit.in ~/wxgtk_dist/wxGTK/setup
-
-cd general
-mkdir ~/wxgtk_dist/wxGTK/setup/general
-cp createall ~/wxgtk_dist/wxGTK/setup/general
-cp jointar ~/wxgtk_dist/wxGTK/setup/general
-cp makeapp ~/wxgtk_dist/wxGTK/setup/general
-cp makedirs ~/wxgtk_dist/wxGTK/setup/general
-cp makedoc ~/wxgtk_dist/wxGTK/setup/general
-cp mygrep ~/wxgtk_dist/wxGTK/setup/general
-cp needed ~/wxgtk_dist/wxGTK/setup/general
-cd ..
-
-cd rules
-mkdir ~/wxgtk_dist/wxGTK/setup/rules
-cp * ~/wxgtk_dist/wxGTK/setup/rules
-
-cd generic
-mkdir ~/wxgtk_dist/wxGTK/setup/rules/generic
-cp * ~/wxgtk_dist/wxGTK/setup/rules/generic
-cd ..
-
-cd ..
-
-cd shared
-mkdir ~/wxgtk_dist/wxGTK/setup/shared
-cp * ~/wxgtk_dist/wxGTK/setup/shared
-cd ..
-
-cd ..
-
-echo User dir..
-
-cd src
-mkdir ~/wxgtk_dist/wxGTK/user
-cp Makefile ~/wxgtk_dist/wxGTK/user
-cd ..
-
echo Src dir..
cd src
mkdir ~/wxgtk_dist/wxGTK/src
-cp Makefile ~/wxgtk_dist/wxGTK/src
cp Makefile.in ~/wxgtk_dist/wxGTK/src
-cp gtk.inc ~/wxgtk_dist/wxGTK/src
+
+cd gtk
+mkdir ~/wxgtk_dist/wxGTK/src/gtk
+cp Makefile.in ~/wxgtk_dist/wxGTK/src/gtk
+cp *.xbm ~/wxgtk_dist/wxGTK/src/gtk
+cp *.c ~/wxgtk_dist/wxGTK/src/gtk
+cp *.inc ~/wxgtk_dist/wxGTK/src/gtk
+cp *.cpp ~/wxgtk_dist/wxGTK/src/gtk
+cd ..
cd common
mkdir ~/wxgtk_dist/wxGTK/src/common
cp glob.inc ~/wxgtk_dist/wxGTK/src/common
cp lexer.l ~/wxgtk_dist/wxGTK/src/common
cp parser.y ~/wxgtk_dist/wxGTK/src/common
-cp y_tab.c ~/wxgtk_dist/wxGTK/src/common
cp extended.c ~/wxgtk_dist/wxGTK/src/common
cp *.cpp ~/wxgtk_dist/wxGTK/src/common
cd ..
-cd gtk
-mkdir ~/wxgtk_dist/wxGTK/src/gtk
-cp *.xbm ~/wxgtk_dist/wxGTK/src/gtk
-cp *.c ~/wxgtk_dist/wxGTK/src/gtk
-cp *.inc ~/wxgtk_dist/wxGTK/src/gtk
-cp *.cpp ~/wxgtk_dist/wxGTK/src/gtk
-cd ..
-
cd unix
mkdir ~/wxgtk_dist/wxGTK/src/unix
cp *.cpp ~/wxgtk_dist/wxGTK/src/unix
cd utils
mkdir ~/wxgtk_dist/wxGTK/utils
-cp Makefile ~/wxgtk_dist/wxGTK/utils
+cp Makefile.in ~/wxgtk_dist/wxGTK/utils
echo wxGLCanvas..
cd samples
mkdir ~/wxgtk_dist/wxGTK/samples
-cp Makefile ~/wxgtk_dist/wxGTK/samples
+cp Makefile.in ~/wxgtk_dist/wxGTK/samples
echo Minimal sample..
cd minimal
mkdir ~/wxgtk_dist/wxGTK/samples/minimal
-cp Makefile ~/wxgtk_dist/wxGTK/samples/minimal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal
cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal
cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal
cd bombs
mkdir ~/wxgtk_dist/wxGTK/samples/bombs
-cp Makefile ~/wxgtk_dist/wxGTK/samples/bombs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs
cp *.h ~/wxgtk_dist/wxGTK/samples/bombs
cd checklst
mkdir ~/wxgtk_dist/wxGTK/samples/checklst
-cp Makefile ~/wxgtk_dist/wxGTK/samples/checklst
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst
cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst
cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst
cd config
mkdir ~/wxgtk_dist/wxGTK/samples/config
-cp Makefile ~/wxgtk_dist/wxGTK/samples/config
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config
cp *.cpp ~/wxgtk_dist/wxGTK/samples/config
cd ..
cd controls
mkdir ~/wxgtk_dist/wxGTK/samples/controls
-cp Makefile ~/wxgtk_dist/wxGTK/samples/controls
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls
cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls
cd db
mkdir ~/wxgtk_dist/wxGTK/samples/db
-cp Makefile ~/wxgtk_dist/wxGTK/samples/db
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db
cp *.cpp ~/wxgtk_dist/wxGTK/samples/db
cp *.h ~/wxgtk_dist/wxGTK/samples/db
cd dde
mkdir ~/wxgtk_dist/wxGTK/samples/dde
-cp Makefile ~/wxgtk_dist/wxGTK/samples/dde
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
cp *.h ~/wxgtk_dist/wxGTK/samples/dde
cd dialogs
mkdir ~/wxgtk_dist/wxGTK/samples/dialogs
-cp Makefile ~/wxgtk_dist/wxGTK/samples/dialogs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs
cd dnd
mkdir ~/wxgtk_dist/wxGTK/samples/dnd
-cp Makefile ~/wxgtk_dist/wxGTK/samples/dnd
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd
cd docview
mkdir ~/wxgtk_dist/wxGTK/samples/docview
-cp Makefile ~/wxgtk_dist/wxGTK/samples/docview
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview
cp *.h ~/wxgtk_dist/wxGTK/samples/docview
cd docvwmdi
mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi
-cp Makefile ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi
cd dynamic
mkdir ~/wxgtk_dist/wxGTK/samples/dynamic
-cp Makefile ~/wxgtk_dist/wxGTK/samples/dynamic
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic
cd drawing
mkdir ~/wxgtk_dist/wxGTK/samples/drawing
-cp Makefile ~/wxgtk_dist/wxGTK/samples/drawing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/drawing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/drawing
cp *.xpm ~/wxgtk_dist/wxGTK/samples/drawing
cd forty
mkdir ~/wxgtk_dist/wxGTK/samples/forty
-cp Makefile ~/wxgtk_dist/wxGTK/samples/forty
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty
cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty
cp *.h ~/wxgtk_dist/wxGTK/samples/forty
cd fractal
mkdir ~/wxgtk_dist/wxGTK/samples/fractal
-cp Makefile ~/wxgtk_dist/wxGTK/samples/fractal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal
cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal
cd ..
cd grid
mkdir ~/wxgtk_dist/wxGTK/samples/grid
-cp Makefile ~/wxgtk_dist/wxGTK/samples/grid
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid
cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid
cd ..
cd help
mkdir ~/wxgtk_dist/wxGTK/samples/help
-cp Makefile ~/wxgtk_dist/wxGTK/samples/help
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help
cp *.cpp ~/wxgtk_dist/wxGTK/samples/help
cp *.xpm ~/wxgtk_dist/wxGTK/samples/help
cd image
mkdir ~/wxgtk_dist/wxGTK/samples/image
-cp Makefile ~/wxgtk_dist/wxGTK/samples/image
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image
cp *.cpp ~/wxgtk_dist/wxGTK/samples/image
cp horse.png ~/wxgtk_dist/wxGTK/samples/image
cd internat
mkdir ~/wxgtk_dist/wxGTK/samples/internat
-cp Makefile ~/wxgtk_dist/wxGTK/samples/internat
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat
cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat
cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat
cd layout
mkdir ~/wxgtk_dist/wxGTK/samples/layout
-cp Makefile ~/wxgtk_dist/wxGTK/samples/layout
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout
cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout
cp *.h ~/wxgtk_dist/wxGTK/samples/layout
cd listctrl
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl
-cp Makefile ~/wxgtk_dist/wxGTK/samples/listctrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl
cd mdi
mkdir ~/wxgtk_dist/wxGTK/samples/mdi
-cp Makefile ~/wxgtk_dist/wxGTK/samples/mdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi
cp *.h ~/wxgtk_dist/wxGTK/samples/mdi
cd memcheck
mkdir ~/wxgtk_dist/wxGTK/samples/memcheck
-cp Makefile ~/wxgtk_dist/wxGTK/samples/memcheck
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck
cd minifram
mkdir ~/wxgtk_dist/wxGTK/samples/minifram
-cp Makefile ~/wxgtk_dist/wxGTK/samples/minifram
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram
cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram
cp *.h ~/wxgtk_dist/wxGTK/samples/minifram
cd notebook
mkdir ~/wxgtk_dist/wxGTK/samples/notebook
-cp Makefile ~/wxgtk_dist/wxGTK/samples/notebook
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook
cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook
cp *.h ~/wxgtk_dist/wxGTK/samples/notebook
cd png
mkdir ~/wxgtk_dist/wxGTK/samples/png
-cp Makefile ~/wxgtk_dist/wxGTK/samples/png
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png
cp *.cpp ~/wxgtk_dist/wxGTK/samples/png
cp *.h ~/wxgtk_dist/wxGTK/samples/png
cd printing
mkdir ~/wxgtk_dist/wxGTK/samples/printing
-cp Makefile ~/wxgtk_dist/wxGTK/samples/printing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing
cp *.h ~/wxgtk_dist/wxGTK/samples/printing
cd proplist
mkdir ~/wxgtk_dist/wxGTK/samples/proplist
-cp Makefile ~/wxgtk_dist/wxGTK/samples/proplist
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist
cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist
cp *.h ~/wxgtk_dist/wxGTK/samples/proplist
cd resource
mkdir ~/wxgtk_dist/wxGTK/samples/resource
-cp Makefile ~/wxgtk_dist/wxGTK/samples/resource
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource
cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource
cp *.h ~/wxgtk_dist/wxGTK/samples/resource
cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/sashtest
-cp Makefile ~/wxgtk_dist/wxGTK/samples/sashtest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest
cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/scroll
-cp Makefile ~/wxgtk_dist/wxGTK/samples/scroll
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/scroll
cp *.cpp ~/wxgtk_dist/wxGTK/samples/scroll
cp *.h ~/wxgtk_dist/wxGTK/samples/scroll
cd splitter
mkdir ~/wxgtk_dist/wxGTK/samples/splitter
-cp Makefile ~/wxgtk_dist/wxGTK/samples/splitter
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter
cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter
cd ..
cd tab
mkdir ~/wxgtk_dist/wxGTK/samples/tab
-cp Makefile ~/wxgtk_dist/wxGTK/samples/tab
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/tab
cp *.cpp ~/wxgtk_dist/wxGTK/samples/tab
cp *.h ~/wxgtk_dist/wxGTK/samples/tab
cd ..
+echo Text sample..
+
+cd text
+mkdir ~/wxgtk_dist/wxGTK/samples/text
+cp Makefile.in ~/wxgtk_dist/wxGTK/samples/text
+cp *.cpp ~/wxgtk_dist/wxGTK/samples/text
+cd ..
+
echo Thread sample..
cd thread
mkdir ~/wxgtk_dist/wxGTK/samples/thread
-cp Makefile ~/wxgtk_dist/wxGTK/samples/thread
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread
cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread
cd ..
cd toolbar
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar
-cp Makefile ~/wxgtk_dist/wxGTK/samples/toolbar
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar
cd treectrl
mkdir ~/wxgtk_dist/wxGTK/samples/treectrl
-cp Makefile ~/wxgtk_dist/wxGTK/samples/treectrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl
cd typetest
mkdir ~/wxgtk_dist/wxGTK/samples/typetest
-cp Makefile ~/wxgtk_dist/wxGTK/samples/typetest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest
cp *.h ~/wxgtk_dist/wxGTK/samples/typetest
cd validate
mkdir ~/wxgtk_dist/wxGTK/samples/validate
-cp Makefile ~/wxgtk_dist/wxGTK/samples/validate
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate
cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate
cp *.h ~/wxgtk_dist/wxGTK/samples/validate
cd wxpoem
mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem
-cp Makefile ~/wxgtk_dist/wxGTK/samples/wxpoem
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem
cd wxsocket
mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket
-cp Makefile ~/wxgtk_dist/wxGTK/samples/wxsocket
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src
+cd ..
-
+# tar ch | gzip -f9 > wxGTK-2.1.0-b6.tgz
while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
+ wxMenuBar *menu_bar = child_frame->m_menuBar;
if (child_frame->m_menuBar)
{
if (child_frame == active_child_frame)
{
- gtk_widget_show( child_frame->m_menuBar->m_widget );
- visible_child_menu = TRUE;
+ if (menu_bar->Show(TRUE))
+ {
+ menu_bar->m_width = m_width;
+ menu_bar->m_height = wxMENU_HEIGHT;
+ gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
+ menu_bar->m_widget,
+ 0, 0, m_width, wxMENU_HEIGHT );
+ menu_bar->SetInvokingWindow( child_frame );
+ }
+ visible_child_menu = TRUE;
}
else
- gtk_widget_hide( child_frame->m_menuBar->m_widget );
+ {
+ if (menu_bar->Show(FALSE))
+ {
+ menu_bar->UnsetInvokingWindow( child_frame );
+ }
+ }
}
node = node->Next();
}
/* show/hide parent menu bar as required */
- if (m_frameMenuBar) m_frameMenuBar->Show( !visible_child_menu );
+ if ((m_frameMenuBar) &&
+ (m_frameMenuBar->IsShown() == visible_child_menu))
+ {
+ if (visible_child_menu)
+ {
+ m_frameMenuBar->Show( FALSE );
+ m_frameMenuBar->UnsetInvokingWindow( this );
+ }
+ else
+ {
+ m_frameMenuBar->Show( TRUE );
+ m_frameMenuBar->SetInvokingWindow( this );
+
+ m_frameMenuBar->m_width = m_width;
+ m_frameMenuBar->m_height = wxMENU_HEIGHT;
+ gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
+ m_frameMenuBar->m_widget,
+ 0, 0, m_width, wxMENU_HEIGHT );
+ }
+ }
}
void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
wxWindow::AddChild( child );
}
-static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
-{
- menu->SetInvokingWindow( win );
- wxNode *node = menu->GetItems().First();
- while (node)
- {
- wxMenuItem *menuitem = (wxMenuItem*)node->Data();
- if (menuitem->IsSubMenu())
- SetInvokingWindow( menuitem->GetSubMenu(), win );
- node = node->Next();
- }
-}
-
void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{
+ wxASSERT_MSG( m_menuBar == NULL, _T("Only one menubar allowed") );
+
m_menuBar = menu_bar;
if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent();
- if (m_menuBar->GetParent() != this)
- {
- wxNode *node = m_menuBar->GetMenus().First();
- while (node)
- {
- wxMenu *menu = (wxMenu*)node->Data();
- SetInvokingWindow( menu, this );
- node = node->Next();
- }
-
- m_menuBar->SetParent( mdi_frame );
- }
-
- /* the menu bar of the child window is shown in idle time as needed */
- gtk_widget_hide( m_menuBar->m_widget );
+ m_menuBar->SetParent( mdi_frame );
/* insert the invisible menu bar into the _parent_ mdi frame */
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget),
while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
+ wxMenuBar *menu_bar = child_frame->m_menuBar;
if (child_frame->m_menuBar)
{
if (child_frame == active_child_frame)
{
- gtk_widget_show( child_frame->m_menuBar->m_widget );
- visible_child_menu = TRUE;
+ if (menu_bar->Show(TRUE))
+ {
+ menu_bar->m_width = m_width;
+ menu_bar->m_height = wxMENU_HEIGHT;
+ gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
+ menu_bar->m_widget,
+ 0, 0, m_width, wxMENU_HEIGHT );
+ menu_bar->SetInvokingWindow( child_frame );
+ }
+ visible_child_menu = TRUE;
}
else
- gtk_widget_hide( child_frame->m_menuBar->m_widget );
+ {
+ if (menu_bar->Show(FALSE))
+ {
+ menu_bar->UnsetInvokingWindow( child_frame );
+ }
+ }
}
node = node->Next();
}
/* show/hide parent menu bar as required */
- if (m_frameMenuBar) m_frameMenuBar->Show( !visible_child_menu );
+ if ((m_frameMenuBar) &&
+ (m_frameMenuBar->IsShown() == visible_child_menu))
+ {
+ if (visible_child_menu)
+ {
+ m_frameMenuBar->Show( FALSE );
+ m_frameMenuBar->UnsetInvokingWindow( this );
+ }
+ else
+ {
+ m_frameMenuBar->Show( TRUE );
+ m_frameMenuBar->SetInvokingWindow( this );
+
+ m_frameMenuBar->m_width = m_width;
+ m_frameMenuBar->m_height = wxMENU_HEIGHT;
+ gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
+ m_frameMenuBar->m_widget,
+ 0, 0, m_width, wxMENU_HEIGHT );
+ }
+ }
}
void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
wxWindow::AddChild( child );
}
-static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
-{
- menu->SetInvokingWindow( win );
- wxNode *node = menu->GetItems().First();
- while (node)
- {
- wxMenuItem *menuitem = (wxMenuItem*)node->Data();
- if (menuitem->IsSubMenu())
- SetInvokingWindow( menuitem->GetSubMenu(), win );
- node = node->Next();
- }
-}
-
void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{
+ wxASSERT_MSG( m_menuBar == NULL, _T("Only one menubar allowed") );
+
m_menuBar = menu_bar;
if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent();
- if (m_menuBar->GetParent() != this)
- {
- wxNode *node = m_menuBar->GetMenus().First();
- while (node)
- {
- wxMenu *menu = (wxMenu*)node->Data();
- SetInvokingWindow( menu, this );
- node = node->Next();
- }
-
- m_menuBar->SetParent( mdi_frame );
- }
-
- /* the menu bar of the child window is shown in idle time as needed */
- gtk_widget_hide( m_menuBar->m_widget );
+ m_menuBar->SetParent( mdi_frame );
/* insert the invisible menu bar into the _parent_ mdi frame */
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget),