Corrected hotkeys for MDI menus.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-06-06 16:07:39 +00:00
parent 7cc7f0eb18
commit 5bd9e5192b
9 changed files with 294 additions and 242 deletions

View File

@@ -15,15 +15,17 @@ echo Base dir..
cd ../.. cd ../..
cp wxGTK.spec ~/wxgtk_dist/wxGTK cp wxGTK.spec ~/wxgtk_dist/wxGTK
cp Makefile ~/wxgtk_dist/wxGTK cp Makefile.in ~/wxgtk_dist/wxGTK
cp configure ~/wxgtk_dist/wxGTK cp configure ~/wxgtk_dist/wxGTK
cp configure.in ~/wxgtk_dist/wxGTK
cp config.sub ~/wxgtk_dist/wxGTK cp config.sub ~/wxgtk_dist/wxGTK
cp config.guess ~/wxgtk_dist/wxGTK cp config.guess ~/wxgtk_dist/wxGTK
cp install-sh ~/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 mkinstalldirs ~/wxgtk_dist/wxGTK
cp template.mak ~/wxgtk_dist/wxGTK
cp wx-config.in ~/wxgtk_dist/wxGTK cp wx-config.in ~/wxgtk_dist/wxGTK
cp setup.h.in ~/wxgtk_dist/wxGTK
echo Docs.. echo Docs..
@@ -41,43 +43,42 @@ echo Include dir..
mkdir ~/wxgtk_dist/wxGTK/include mkdir ~/wxgtk_dist/wxGTK/include
cd include cd include
cp install-sh ~/wxgtk_dist/wxGTK/include cp Makefile.in ~/wxgtk_dist/wxGTK/include
mkdir ~/wxgtk_dist/wxGTK/include/wx mkdir ~/wxgtk_dist/wxGTK/include/wx
cd wx cd wx
cp install-sh ~/wxgtk_dist/wxGTK/include/wx
cp *.h ~/wxgtk_dist/wxGTK/include/wx cp *.h ~/wxgtk_dist/wxGTK/include/wx
cp *.cpp ~/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 mkdir ~/wxgtk_dist/wxGTK/include/wx/generic
cd generic cd generic
cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/generic
cd .. cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/unix mkdir ~/wxgtk_dist/wxGTK/include/wx/unix
cd unix cd unix
cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/unix
cd .. cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
cd gtk cd gtk
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/gtk
cd .. cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol
cd protocol cd protocol
cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/protocol
cd .. cd ..
cd .. cd ..
cd .. cd ..
echo Base lib..
mkdir ~/wxgtk_dist/wxGTK/lib
cp ./lib/dummy ~/wxgtk_dist/wxGTK/lib
echo Misc dir.. echo Misc dir..
mkdir ~/wxgtk_dist/wxGTK/misc mkdir ~/wxgtk_dist/wxGTK/misc
@@ -87,76 +88,30 @@ mkdir ~/wxgtk_dist/wxGTK/misc/gs_afm
cp ./misc/afm/*.afm ~/wxgtk_dist/wxGTK/misc/afm cp ./misc/afm/*.afm ~/wxgtk_dist/wxGTK/misc/afm
cp ./misc/gs_afm/*.afm ~/wxgtk_dist/wxGTK/misc/gs_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.. echo Src dir..
cd src cd src
mkdir ~/wxgtk_dist/wxGTK/src mkdir ~/wxgtk_dist/wxGTK/src
cp Makefile ~/wxgtk_dist/wxGTK/src
cp Makefile.in ~/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 cd common
mkdir ~/wxgtk_dist/wxGTK/src/common mkdir ~/wxgtk_dist/wxGTK/src/common
cp glob.inc ~/wxgtk_dist/wxGTK/src/common cp glob.inc ~/wxgtk_dist/wxGTK/src/common
cp lexer.l ~/wxgtk_dist/wxGTK/src/common cp lexer.l ~/wxgtk_dist/wxGTK/src/common
cp parser.y ~/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 extended.c ~/wxgtk_dist/wxGTK/src/common
cp *.cpp ~/wxgtk_dist/wxGTK/src/common cp *.cpp ~/wxgtk_dist/wxGTK/src/common
cd .. 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 cd unix
mkdir ~/wxgtk_dist/wxGTK/src/unix mkdir ~/wxgtk_dist/wxGTK/src/unix
cp *.cpp ~/wxgtk_dist/wxGTK/src/unix cp *.cpp ~/wxgtk_dist/wxGTK/src/unix
@@ -193,7 +148,7 @@ echo Utils dir..
cd utils cd utils
mkdir ~/wxgtk_dist/wxGTK/utils mkdir ~/wxgtk_dist/wxGTK/utils
cp Makefile ~/wxgtk_dist/wxGTK/utils cp Makefile.in ~/wxgtk_dist/wxGTK/utils
echo wxGLCanvas.. echo wxGLCanvas..
@@ -312,13 +267,12 @@ echo Samples dir..
cd samples cd samples
mkdir ~/wxgtk_dist/wxGTK/samples mkdir ~/wxgtk_dist/wxGTK/samples
cp Makefile ~/wxgtk_dist/wxGTK/samples cp Makefile.in ~/wxgtk_dist/wxGTK/samples
echo Minimal sample.. echo Minimal sample..
cd minimal cd minimal
mkdir ~/wxgtk_dist/wxGTK/samples/minimal mkdir ~/wxgtk_dist/wxGTK/samples/minimal
cp Makefile ~/wxgtk_dist/wxGTK/samples/minimal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal
cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal
cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal
@@ -328,7 +282,6 @@ echo Bombs sample..
cd bombs cd bombs
mkdir ~/wxgtk_dist/wxGTK/samples/bombs mkdir ~/wxgtk_dist/wxGTK/samples/bombs
cp Makefile ~/wxgtk_dist/wxGTK/samples/bombs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs
cp *.h ~/wxgtk_dist/wxGTK/samples/bombs cp *.h ~/wxgtk_dist/wxGTK/samples/bombs
@@ -339,7 +292,6 @@ echo Checklst sample..
cd checklst cd checklst
mkdir ~/wxgtk_dist/wxGTK/samples/checklst mkdir ~/wxgtk_dist/wxGTK/samples/checklst
cp Makefile ~/wxgtk_dist/wxGTK/samples/checklst
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst
cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst
cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst
@@ -349,7 +301,6 @@ echo Config sample..
cd config cd config
mkdir ~/wxgtk_dist/wxGTK/samples/config mkdir ~/wxgtk_dist/wxGTK/samples/config
cp Makefile ~/wxgtk_dist/wxGTK/samples/config
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config
cp *.cpp ~/wxgtk_dist/wxGTK/samples/config cp *.cpp ~/wxgtk_dist/wxGTK/samples/config
cd .. cd ..
@@ -358,7 +309,6 @@ echo Controls sample..
cd controls cd controls
mkdir ~/wxgtk_dist/wxGTK/samples/controls mkdir ~/wxgtk_dist/wxGTK/samples/controls
cp Makefile ~/wxgtk_dist/wxGTK/samples/controls
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls
cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls
@@ -371,7 +321,6 @@ echo Db sample..
cd db cd db
mkdir ~/wxgtk_dist/wxGTK/samples/db mkdir ~/wxgtk_dist/wxGTK/samples/db
cp Makefile ~/wxgtk_dist/wxGTK/samples/db
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db
cp *.cpp ~/wxgtk_dist/wxGTK/samples/db cp *.cpp ~/wxgtk_dist/wxGTK/samples/db
cp *.h ~/wxgtk_dist/wxGTK/samples/db cp *.h ~/wxgtk_dist/wxGTK/samples/db
@@ -382,7 +331,6 @@ echo DDE sample..
cd dde cd dde
mkdir ~/wxgtk_dist/wxGTK/samples/dde mkdir ~/wxgtk_dist/wxGTK/samples/dde
cp Makefile ~/wxgtk_dist/wxGTK/samples/dde
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
cp *.h ~/wxgtk_dist/wxGTK/samples/dde cp *.h ~/wxgtk_dist/wxGTK/samples/dde
@@ -393,7 +341,6 @@ echo Dialogs sample..
cd dialogs cd dialogs
mkdir ~/wxgtk_dist/wxGTK/samples/dialogs mkdir ~/wxgtk_dist/wxGTK/samples/dialogs
cp Makefile ~/wxgtk_dist/wxGTK/samples/dialogs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs
@@ -403,7 +350,6 @@ echo DnD sample..
cd dnd cd dnd
mkdir ~/wxgtk_dist/wxGTK/samples/dnd mkdir ~/wxgtk_dist/wxGTK/samples/dnd
cp Makefile ~/wxgtk_dist/wxGTK/samples/dnd
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd
@@ -413,7 +359,6 @@ echo Docview sample..
cd docview cd docview
mkdir ~/wxgtk_dist/wxGTK/samples/docview mkdir ~/wxgtk_dist/wxGTK/samples/docview
cp Makefile ~/wxgtk_dist/wxGTK/samples/docview
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview
cp *.h ~/wxgtk_dist/wxGTK/samples/docview cp *.h ~/wxgtk_dist/wxGTK/samples/docview
@@ -424,7 +369,6 @@ echo DocvwMDI sample..
cd docvwmdi cd docvwmdi
mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp Makefile ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi
@@ -434,7 +378,6 @@ echo Dynamic sample..
cd dynamic cd dynamic
mkdir ~/wxgtk_dist/wxGTK/samples/dynamic mkdir ~/wxgtk_dist/wxGTK/samples/dynamic
cp Makefile ~/wxgtk_dist/wxGTK/samples/dynamic
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic
@@ -444,7 +387,6 @@ echo Drawing sample..
cd drawing cd drawing
mkdir ~/wxgtk_dist/wxGTK/samples/drawing mkdir ~/wxgtk_dist/wxGTK/samples/drawing
cp Makefile ~/wxgtk_dist/wxGTK/samples/drawing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/drawing cp Makefile.in ~/wxgtk_dist/wxGTK/samples/drawing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/drawing cp *.cpp ~/wxgtk_dist/wxGTK/samples/drawing
cp *.xpm ~/wxgtk_dist/wxGTK/samples/drawing cp *.xpm ~/wxgtk_dist/wxGTK/samples/drawing
@@ -454,7 +396,6 @@ echo Forty sample..
cd forty cd forty
mkdir ~/wxgtk_dist/wxGTK/samples/forty mkdir ~/wxgtk_dist/wxGTK/samples/forty
cp Makefile ~/wxgtk_dist/wxGTK/samples/forty
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty
cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty
cp *.h ~/wxgtk_dist/wxGTK/samples/forty cp *.h ~/wxgtk_dist/wxGTK/samples/forty
@@ -466,7 +407,6 @@ echo Fractal sample..
cd fractal cd fractal
mkdir ~/wxgtk_dist/wxGTK/samples/fractal mkdir ~/wxgtk_dist/wxGTK/samples/fractal
cp Makefile ~/wxgtk_dist/wxGTK/samples/fractal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal
cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal
cd .. cd ..
@@ -475,7 +415,6 @@ echo Grid sample..
cd grid cd grid
mkdir ~/wxgtk_dist/wxGTK/samples/grid mkdir ~/wxgtk_dist/wxGTK/samples/grid
cp Makefile ~/wxgtk_dist/wxGTK/samples/grid
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid
cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid
cd .. cd ..
@@ -484,7 +423,6 @@ echo Help sample..
cd help cd help
mkdir ~/wxgtk_dist/wxGTK/samples/help mkdir ~/wxgtk_dist/wxGTK/samples/help
cp Makefile ~/wxgtk_dist/wxGTK/samples/help
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help
cp *.cpp ~/wxgtk_dist/wxGTK/samples/help cp *.cpp ~/wxgtk_dist/wxGTK/samples/help
cp *.xpm ~/wxgtk_dist/wxGTK/samples/help cp *.xpm ~/wxgtk_dist/wxGTK/samples/help
@@ -497,7 +435,6 @@ echo Image sample..
cd image cd image
mkdir ~/wxgtk_dist/wxGTK/samples/image mkdir ~/wxgtk_dist/wxGTK/samples/image
cp Makefile ~/wxgtk_dist/wxGTK/samples/image
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image
cp *.cpp ~/wxgtk_dist/wxGTK/samples/image cp *.cpp ~/wxgtk_dist/wxGTK/samples/image
cp horse.png ~/wxgtk_dist/wxGTK/samples/image cp horse.png ~/wxgtk_dist/wxGTK/samples/image
@@ -509,7 +446,6 @@ echo Internat sample..
cd internat cd internat
mkdir ~/wxgtk_dist/wxGTK/samples/internat mkdir ~/wxgtk_dist/wxGTK/samples/internat
cp Makefile ~/wxgtk_dist/wxGTK/samples/internat
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat
cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat
cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat
@@ -524,7 +460,6 @@ echo Layout sample..
cd layout cd layout
mkdir ~/wxgtk_dist/wxGTK/samples/layout mkdir ~/wxgtk_dist/wxGTK/samples/layout
cp Makefile ~/wxgtk_dist/wxGTK/samples/layout
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout
cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout
cp *.h ~/wxgtk_dist/wxGTK/samples/layout cp *.h ~/wxgtk_dist/wxGTK/samples/layout
@@ -534,7 +469,6 @@ echo Listctrl sample..
cd listctrl cd listctrl
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl mkdir ~/wxgtk_dist/wxGTK/samples/listctrl
cp Makefile ~/wxgtk_dist/wxGTK/samples/listctrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl
@@ -548,7 +482,6 @@ echo MDI sample..
cd mdi cd mdi
mkdir ~/wxgtk_dist/wxGTK/samples/mdi mkdir ~/wxgtk_dist/wxGTK/samples/mdi
cp Makefile ~/wxgtk_dist/wxGTK/samples/mdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi
cp *.h ~/wxgtk_dist/wxGTK/samples/mdi cp *.h ~/wxgtk_dist/wxGTK/samples/mdi
@@ -562,7 +495,6 @@ echo Memcheck sample..
cd memcheck cd memcheck
mkdir ~/wxgtk_dist/wxGTK/samples/memcheck mkdir ~/wxgtk_dist/wxGTK/samples/memcheck
cp Makefile ~/wxgtk_dist/wxGTK/samples/memcheck
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck
@@ -572,7 +504,6 @@ echo Minifram sample..
cd minifram cd minifram
mkdir ~/wxgtk_dist/wxGTK/samples/minifram mkdir ~/wxgtk_dist/wxGTK/samples/minifram
cp Makefile ~/wxgtk_dist/wxGTK/samples/minifram
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram
cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram
cp *.h ~/wxgtk_dist/wxGTK/samples/minifram cp *.h ~/wxgtk_dist/wxGTK/samples/minifram
@@ -586,7 +517,6 @@ echo Notebook sample..
cd notebook cd notebook
mkdir ~/wxgtk_dist/wxGTK/samples/notebook mkdir ~/wxgtk_dist/wxGTK/samples/notebook
cp Makefile ~/wxgtk_dist/wxGTK/samples/notebook
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook
cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook
cp *.h ~/wxgtk_dist/wxGTK/samples/notebook cp *.h ~/wxgtk_dist/wxGTK/samples/notebook
@@ -596,7 +526,6 @@ echo PNG sample..
cd png cd png
mkdir ~/wxgtk_dist/wxGTK/samples/png mkdir ~/wxgtk_dist/wxGTK/samples/png
cp Makefile ~/wxgtk_dist/wxGTK/samples/png
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png
cp *.cpp ~/wxgtk_dist/wxGTK/samples/png cp *.cpp ~/wxgtk_dist/wxGTK/samples/png
cp *.h ~/wxgtk_dist/wxGTK/samples/png cp *.h ~/wxgtk_dist/wxGTK/samples/png
@@ -607,7 +536,6 @@ echo Printing sample..
cd printing cd printing
mkdir ~/wxgtk_dist/wxGTK/samples/printing mkdir ~/wxgtk_dist/wxGTK/samples/printing
cp Makefile ~/wxgtk_dist/wxGTK/samples/printing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing
cp *.h ~/wxgtk_dist/wxGTK/samples/printing cp *.h ~/wxgtk_dist/wxGTK/samples/printing
@@ -618,7 +546,6 @@ echo Proplist sample..
cd proplist cd proplist
mkdir ~/wxgtk_dist/wxGTK/samples/proplist mkdir ~/wxgtk_dist/wxGTK/samples/proplist
cp Makefile ~/wxgtk_dist/wxGTK/samples/proplist
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist
cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist
cp *.h ~/wxgtk_dist/wxGTK/samples/proplist cp *.h ~/wxgtk_dist/wxGTK/samples/proplist
@@ -628,7 +555,6 @@ echo Resource sample..
cd resource cd resource
mkdir ~/wxgtk_dist/wxGTK/samples/resource mkdir ~/wxgtk_dist/wxGTK/samples/resource
cp Makefile ~/wxgtk_dist/wxGTK/samples/resource
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource
cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource
cp *.h ~/wxgtk_dist/wxGTK/samples/resource cp *.h ~/wxgtk_dist/wxGTK/samples/resource
@@ -639,7 +565,6 @@ echo Sashtest sample..
cd sashtest cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/sashtest mkdir ~/wxgtk_dist/wxGTK/samples/sashtest
cp Makefile ~/wxgtk_dist/wxGTK/samples/sashtest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest
@@ -649,7 +574,6 @@ echo Scroll sample..
cd sashtest cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/scroll mkdir ~/wxgtk_dist/wxGTK/samples/scroll
cp Makefile ~/wxgtk_dist/wxGTK/samples/scroll
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/scroll cp Makefile.in ~/wxgtk_dist/wxGTK/samples/scroll
cp *.cpp ~/wxgtk_dist/wxGTK/samples/scroll cp *.cpp ~/wxgtk_dist/wxGTK/samples/scroll
cp *.h ~/wxgtk_dist/wxGTK/samples/scroll cp *.h ~/wxgtk_dist/wxGTK/samples/scroll
@@ -659,7 +583,6 @@ echo Splitter sample..
cd splitter cd splitter
mkdir ~/wxgtk_dist/wxGTK/samples/splitter mkdir ~/wxgtk_dist/wxGTK/samples/splitter
cp Makefile ~/wxgtk_dist/wxGTK/samples/splitter
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter
cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter
cd .. cd ..
@@ -668,17 +591,23 @@ echo Tab sample..
cd tab cd tab
mkdir ~/wxgtk_dist/wxGTK/samples/tab mkdir ~/wxgtk_dist/wxGTK/samples/tab
cp Makefile ~/wxgtk_dist/wxGTK/samples/tab
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/tab cp Makefile.in ~/wxgtk_dist/wxGTK/samples/tab
cp *.cpp ~/wxgtk_dist/wxGTK/samples/tab cp *.cpp ~/wxgtk_dist/wxGTK/samples/tab
cp *.h ~/wxgtk_dist/wxGTK/samples/tab cp *.h ~/wxgtk_dist/wxGTK/samples/tab
cd .. 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.. echo Thread sample..
cd thread cd thread
mkdir ~/wxgtk_dist/wxGTK/samples/thread mkdir ~/wxgtk_dist/wxGTK/samples/thread
cp Makefile ~/wxgtk_dist/wxGTK/samples/thread
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread
cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread
cd .. cd ..
@@ -687,7 +616,6 @@ echo Toolbar sample..
cd toolbar cd toolbar
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar mkdir ~/wxgtk_dist/wxGTK/samples/toolbar
cp Makefile ~/wxgtk_dist/wxGTK/samples/toolbar
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar
@@ -701,7 +629,6 @@ echo TreeCtrl sample..
cd treectrl cd treectrl
mkdir ~/wxgtk_dist/wxGTK/samples/treectrl mkdir ~/wxgtk_dist/wxGTK/samples/treectrl
cp Makefile ~/wxgtk_dist/wxGTK/samples/treectrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl
@@ -712,7 +639,6 @@ echo typetest sample..
cd typetest cd typetest
mkdir ~/wxgtk_dist/wxGTK/samples/typetest mkdir ~/wxgtk_dist/wxGTK/samples/typetest
cp Makefile ~/wxgtk_dist/wxGTK/samples/typetest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest
cp *.h ~/wxgtk_dist/wxGTK/samples/typetest cp *.h ~/wxgtk_dist/wxGTK/samples/typetest
@@ -723,7 +649,6 @@ echo Validate sample..
cd validate cd validate
mkdir ~/wxgtk_dist/wxGTK/samples/validate mkdir ~/wxgtk_dist/wxGTK/samples/validate
cp Makefile ~/wxgtk_dist/wxGTK/samples/validate
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate
cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate
cp *.h ~/wxgtk_dist/wxGTK/samples/validate cp *.h ~/wxgtk_dist/wxGTK/samples/validate
@@ -734,7 +659,6 @@ echo wxPoem sample..
cd wxpoem cd wxpoem
mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxpoem
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem
@@ -748,7 +672,6 @@ echo wxSocket sample..
cd wxsocket cd wxsocket
mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxsocket
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket
@@ -760,5 +683,6 @@ cd distrib/gtk
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src
cd ..
# tar ch | gzip -f9 > wxGTK-2.1.0-b6.tgz

View File

@@ -92,6 +92,9 @@ public:
// implementation only // implementation only
wxList& GetMenus() { return m_menus; } wxList& GetMenus() { return m_menus; }
void SetInvokingWindow( wxWindow *win );
void UnsetInvokingWindow( wxWindow *win );
GtkAccelGroup *m_accel; GtkAccelGroup *m_accel;
GtkItemFactory *m_factory; GtkItemFactory *m_factory;

View File

@@ -92,6 +92,9 @@ public:
// implementation only // implementation only
wxList& GetMenus() { return m_menus; } wxList& GetMenus() { return m_menus; }
void SetInvokingWindow( wxWindow *win );
void UnsetInvokingWindow( wxWindow *win );
GtkAccelGroup *m_accel; GtkAccelGroup *m_accel;
GtkItemFactory *m_factory; GtkItemFactory *m_factory;

View File

@@ -813,25 +813,6 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
} }
} }
static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( win );
#if (GTK_MINOR_VERSION > 0)
/* support for native hot keys */
gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(win->m_widget));
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
SetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
void wxFrame::SetMenuBar( wxMenuBar *menuBar ) void wxFrame::SetMenuBar( wxMenuBar *menuBar )
{ {
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") ); wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
@@ -841,18 +822,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
if (m_frameMenuBar) if (m_frameMenuBar)
{ {
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0) m_frameMenuBar->SetInvokingWindow( this );
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_attach( m_frameMenuBar->m_accel, GTK_OBJECT(m_widget));
#endif
wxNode *node = m_frameMenuBar->GetMenus().First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
if (m_frameMenuBar->GetParent() != this) if (m_frameMenuBar->GetParent() != this)
{ {
@@ -872,6 +842,8 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached", gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached",
GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
} }
m_frameMenuBar->Show( TRUE );
} }
} }

View File

@@ -126,21 +126,54 @@ void wxMDIParentFrame::OnInternalIdle()
while (node) while (node)
{ {
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data(); wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
wxMenuBar *menu_bar = child_frame->m_menuBar;
if (child_frame->m_menuBar) if (child_frame->m_menuBar)
{ {
if (child_frame == active_child_frame) if (child_frame == active_child_frame)
{ {
gtk_widget_show( child_frame->m_menuBar->m_widget ); if (menu_bar->Show(TRUE))
visible_child_menu = 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 else
gtk_widget_hide( child_frame->m_menuBar->m_widget ); {
if (menu_bar->Show(FALSE))
{
menu_bar->UnsetInvokingWindow( child_frame );
}
}
} }
node = node->Next(); node = node->Next();
} }
/* show/hide parent menu bar as required */ /* 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 void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
@@ -260,42 +293,17 @@ void wxMDIChildFrame::AddChild( wxWindow *child )
wxWindow::AddChild( child ); 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 ) void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{ {
wxASSERT_MSG( m_menuBar == NULL, _T("Only one menubar allowed") );
m_menuBar = menu_bar; m_menuBar = menu_bar;
if (m_menuBar) if (m_menuBar)
{ {
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent(); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent();
if (m_menuBar->GetParent() != this) m_menuBar->SetParent( mdi_frame );
{
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 );
/* insert the invisible menu bar into the _parent_ mdi frame */ /* insert the invisible menu bar into the _parent_ mdi frame */
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget),

View File

@@ -63,8 +63,6 @@ wxMenuBar::wxMenuBar( long style )
} }
PostCreation(); PostCreation();
Show( TRUE );
} }
wxMenuBar::wxMenuBar() wxMenuBar::wxMenuBar()
@@ -88,8 +86,6 @@ wxMenuBar::wxMenuBar()
m_widget = GTK_WIDGET(m_menubar); m_widget = GTK_WIDGET(m_menubar);
PostCreation(); PostCreation();
Show( TRUE );
} }
wxMenuBar::~wxMenuBar() wxMenuBar::~wxMenuBar()
@@ -97,6 +93,91 @@ wxMenuBar::~wxMenuBar()
// how to destroy a GtkItemFactory ? // how to destroy a GtkItemFactory ?
} }
static void wxMenubarUnsetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( (wxWindow*) NULL );
#if (GTK_MINOR_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent()) top_frame = top_frame->GetParent();
/* support for native hot keys */
gtk_accel_group_detach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
wxMenubarUnsetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( win );
#if (GTK_MINOR_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native hot keys */
gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
wxMenubarSetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
void wxMenuBar::SetInvokingWindow( wxWindow *win )
{
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_attach( m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
wxMenubarSetInvokingWindow( menu, win );
node = node->Next();
}
}
void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
{
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_detach( m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
wxMenubarUnsetInvokingWindow( menu, win );
node = node->Next();
}
}
void wxMenuBar::Append( wxMenu *menu, const wxString &title ) void wxMenuBar::Append( wxMenu *menu, const wxString &title )
{ {
m_menus.Append( menu ); m_menus.Append( menu );

View File

@@ -813,25 +813,6 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
} }
} }
static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( win );
#if (GTK_MINOR_VERSION > 0)
/* support for native hot keys */
gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(win->m_widget));
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
SetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
void wxFrame::SetMenuBar( wxMenuBar *menuBar ) void wxFrame::SetMenuBar( wxMenuBar *menuBar )
{ {
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") ); wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
@@ -841,18 +822,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
if (m_frameMenuBar) if (m_frameMenuBar)
{ {
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0) m_frameMenuBar->SetInvokingWindow( this );
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_attach( m_frameMenuBar->m_accel, GTK_OBJECT(m_widget));
#endif
wxNode *node = m_frameMenuBar->GetMenus().First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
if (m_frameMenuBar->GetParent() != this) if (m_frameMenuBar->GetParent() != this)
{ {
@@ -872,6 +842,8 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached", gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached",
GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
} }
m_frameMenuBar->Show( TRUE );
} }
} }

View File

@@ -126,21 +126,54 @@ void wxMDIParentFrame::OnInternalIdle()
while (node) while (node)
{ {
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data(); wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
wxMenuBar *menu_bar = child_frame->m_menuBar;
if (child_frame->m_menuBar) if (child_frame->m_menuBar)
{ {
if (child_frame == active_child_frame) if (child_frame == active_child_frame)
{ {
gtk_widget_show( child_frame->m_menuBar->m_widget ); if (menu_bar->Show(TRUE))
visible_child_menu = 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 else
gtk_widget_hide( child_frame->m_menuBar->m_widget ); {
if (menu_bar->Show(FALSE))
{
menu_bar->UnsetInvokingWindow( child_frame );
}
}
} }
node = node->Next(); node = node->Next();
} }
/* show/hide parent menu bar as required */ /* 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 void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
@@ -260,42 +293,17 @@ void wxMDIChildFrame::AddChild( wxWindow *child )
wxWindow::AddChild( child ); 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 ) void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{ {
wxASSERT_MSG( m_menuBar == NULL, _T("Only one menubar allowed") );
m_menuBar = menu_bar; m_menuBar = menu_bar;
if (m_menuBar) if (m_menuBar)
{ {
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent(); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent();
if (m_menuBar->GetParent() != this) m_menuBar->SetParent( mdi_frame );
{
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 );
/* insert the invisible menu bar into the _parent_ mdi frame */ /* insert the invisible menu bar into the _parent_ mdi frame */
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget),

View File

@@ -63,8 +63,6 @@ wxMenuBar::wxMenuBar( long style )
} }
PostCreation(); PostCreation();
Show( TRUE );
} }
wxMenuBar::wxMenuBar() wxMenuBar::wxMenuBar()
@@ -88,8 +86,6 @@ wxMenuBar::wxMenuBar()
m_widget = GTK_WIDGET(m_menubar); m_widget = GTK_WIDGET(m_menubar);
PostCreation(); PostCreation();
Show( TRUE );
} }
wxMenuBar::~wxMenuBar() wxMenuBar::~wxMenuBar()
@@ -97,6 +93,91 @@ wxMenuBar::~wxMenuBar()
// how to destroy a GtkItemFactory ? // how to destroy a GtkItemFactory ?
} }
static void wxMenubarUnsetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( (wxWindow*) NULL );
#if (GTK_MINOR_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent()) top_frame = top_frame->GetParent();
/* support for native hot keys */
gtk_accel_group_detach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
wxMenubarUnsetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( win );
#if (GTK_MINOR_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native hot keys */
gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
wxMenubarSetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next();
}
}
void wxMenuBar::SetInvokingWindow( wxWindow *win )
{
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_attach( m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
wxMenubarSetInvokingWindow( menu, win );
node = node->Next();
}
}
void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
{
#if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
wxWindow *top_frame = win;
while (top_frame->GetParent())
top_frame = top_frame->GetParent();
/* support for native key accelerators indicated by underscroes */
gtk_accel_group_detach( m_accel, GTK_OBJECT(top_frame->m_widget) );
#endif
wxNode *node = m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
wxMenubarUnsetInvokingWindow( menu, win );
node = node->Next();
}
}
void wxMenuBar::Append( wxMenu *menu, const wxString &title ) void wxMenuBar::Append( wxMenu *menu, const wxString &title )
{ {
m_menus.Append( menu ); m_menus.Append( menu );