From 3cdda6cd814cb078bc9542865a9f1346ef226770 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Fri, 30 Apr 1999 13:53:02 +0000 Subject: [PATCH] Updated docs, distrib and version wxGLCanvas now gets keyboard input git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/gtk/copy_src | 38 +++++++++- docs/gtk/install.txt | 81 ++++++++++++++-------- docs/gtk/readme.txt | 2 +- include/wx/version.h | 2 +- utils/glcanvas/gtk/glcanvas.cpp | 27 +++----- utils/glcanvas/samples/isosurf/isosurf.cpp | 5 ++ 6 files changed, 107 insertions(+), 48 deletions(-) diff --git a/distrib/gtk/copy_src b/distrib/gtk/copy_src index 61a0835f6e..5c2b2af7fa 100755 --- a/distrib/gtk/copy_src +++ b/distrib/gtk/copy_src @@ -195,6 +195,8 @@ cd utils mkdir ~/wxgtk_dist/wxGTK/utils cp Makefile ~/wxgtk_dist/wxGTK/utils +echo wxGLCanvas.. + cd glcanvas mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas cp ./docs/notes.txt ~/wxgtk_dist/wxGTK/utils/glcanvas/NOTES.txt @@ -232,6 +234,8 @@ cp lw.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin cp penguin.lwo ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin cd ../../.. +echo DialogEd.. + cd dialoged/src mkdir ~/wxgtk_dist/wxGTK/utils/dialoged cp Makefile ~/wxgtk_dist/wxGTK/utils/dialoged @@ -258,20 +262,52 @@ mkdir ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps cp *.xpm ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps cd ../../.. +echo wxPython.. + cd wxPython mkdir ~/wxgtk_dist/wxGTK/utils/wxPython cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython -cp TODO.txt ~/wxgtk_dist/wxGTK/utils/wxPython + mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src cp ./src/* ~/wxgtk_dist/wxGTK/utils/wxPython/src + mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk cp ./src/gtk/* ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk + +mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/lib +cp ./lib/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib + mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests +cp ./tests/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/tests cp ./tests/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/tests + +mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo +cp ./tests/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/demo +cp ./tests/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/demo +cp ./tests/*.pyc ~/wxgtk_dist/wxGTK/utils/wxPython/demo +mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps +cp ./tests/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps + mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps cp ./tests/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps +cd .. + +echo wxOLE.. + +cd wxOLE +mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE +mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk +cp ./gtk/wxole.* ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk +mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples +mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet +cp ./samples/servlet/Makefile ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet +cp ./samples/servlet/*.xpm ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet +cp ./samples/servlet/*.cpp ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet +cp ./samples/servlet/*.gnorba ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet + cd ../.. + echo Samples dir.. cd samples diff --git a/docs/gtk/install.txt b/docs/gtk/install.txt index 9c7b33dde0..f856cd7d34 100644 --- a/docs/gtk/install.txt +++ b/docs/gtk/install.txt @@ -25,7 +25,7 @@ You get errors during compilation. The reason is that you probably have a broken compiler, which includes almost everything that is called gcc. If there is just any way for you to use egcs, use egcs. We are sorry, but we cannot -fix gcc for the moment. +fix gcc. * The most simple program ------------------------- @@ -66,7 +66,7 @@ You can get the newest version of the GTK+ from the GTK homepage at http://www.gtk.org -We also mirror GTK+ 1.2.1 at my ftp site. You'll find information +We also mirror GTK+ 1.2.1 at my ftp site soon. You'll find information about downloading at my homepage. * Additional libraries @@ -85,10 +85,6 @@ distributions have correct glibc 2 support: - DLD 6.0 - SuSE 6.0 -On IRIX you can also use SGI threads if Posix-Threads -are not present. The SGI threads will be detected by -configure automatically. - You can enable thread support by running ./configure "--with-threads" @@ -99,13 +95,8 @@ make install ldconfig exit -NB: I included thread support in wxWindows/Gtk, as this -problem will disappear in the near future when all major -Linux Variants have moved to glibc 2. Also, the Linux -Base Standard will include glibc 2 and Posix threads. - NB: DO NOT COMPILE WXGTK WITH GCC AND THREADS, SINCE -ALL PROGRAMS WILL CRASH UPON START-UP. Just always +ALL PROGRAMS WILL CRASH UPON START-UP! Just always use egcs and be happy. * Create your configuration @@ -169,11 +160,17 @@ toolkit. You must do this by running configure with either of: The following options handle the kind of library you want to build. - --with-threads Compile with thread support. + --with-threads Compile with thread support. Threads + support is also required for the + socket code to work. --without-shared Do not create shared libraries. - --without-optimise Do not optimise the code. + --without-optimise Do not optimise the code. Can + sometimes be useful for debugging + and is required on some architectures + such as Sun with gcc 2.8.X which + would otherwise produce segvs. --with-profile Add profiling info to the object files. Currently broken, I think. @@ -184,19 +181,50 @@ The following options handle the kind of library you want to build. Read more at www.letters.com/dmalloc/ --with-debug_info Add debug info to object files and - executables. + executables for use with debuggers + such as gdb (or its many frontends). --with-debug_flag Define __DEBUG__ and __WXDEBUG__ when - compiling. + compiling. This enable wxWindows' very + useful internal debugging tricks (such + as automatically reporting illegal calls) + to work. Note that program and library + must be compiled with the same debug + options. * Feature Options ------------------- -As I don't yet care for binary size and target mainly at -producing a shared library, wxWindows's configure system auto- -matically enables all features, as long as they are already -implemented. It is currently NOT possible to disable these -options (in contrast to what configure tells you). +When producing an executable that is linked statically with wxGTK +you'll be surprised at its immense size. This can sometimes be +drastically reduced by removing features from wxWindows that +are not used in your program. The most relevant such features +are + + --without-libpng Disables PNG image format code. + + --without-libjpeg Disables JPEG image format code. + + --without-odbc Disables ODBC code. + + --without-wxresources Disables the use of *.wxr type + resources. + + --without-threads Disables threads. + + --without-sockets Disables sockets. + + --without-dnd Disables Drag'n'Drop. + + --without-clipboard Disables Clipboard. + + --without-serial Disables object instance serialiasation. + + --without-streams Disables the wxStream classes. + +Apart from disabling certain features you can very often "strip" +the program of its debugging information resulting in a significant +reduction in size. * Compiling ------------- @@ -211,13 +239,12 @@ the library by typing: make yourself some coffee, as it will take some time. On an old 386SX possibly week. During compilation, you'll get a few -warning messages. +warning messages depending in your compiler. if you want to be more selective: - make src will build only the base libraries + make will build only the base libraries make samples will build the samples - make other will build everything in other make user will build everything in user Then you may install the library and it's header files under @@ -241,12 +268,12 @@ The "global" binaries and libraries will be placed in: This is also the place where all the object-files will go. (Currently there arent any global binaries). -If you want to conserve disk space by removing unnecessary +If you want to save disk space by removing unnecessary object-files: - make clean_obj + make clean -will do the work for you. +in the various directories will do the work for you. * Creating a new Project -------------------------- diff --git a/docs/gtk/readme.txt b/docs/gtk/readme.txt index ebd06716ad..cdf339cce4 100644 --- a/docs/gtk/readme.txt +++ b/docs/gtk/readme.txt @@ -1,5 +1,5 @@ - Welcome to wxWindows/Gtk 2.1 beta 2, + Welcome to wxWindows/Gtk 2.1 snapshot 3, you have downloaded version 2.1 of the GTK+ 1.2 port of the wxWindows GUI library. This is a developers release diff --git a/include/wx/version.h b/include/wx/version.h index 62606f98c7..7478110eb5 100644 --- a/include/wx/version.h +++ b/include/wx/version.h @@ -18,7 +18,7 @@ #define wxRELEASE_NUMBER 0 #define wxVERSION_STRING "wxWindows 2.1.0" #define wxVERSION_NUMBER (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER -#define wxBETA_NUMBER 2 +#define wxBETA_NUMBER 3 #define wxVERSION_FLOAT wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0) #endif diff --git a/utils/glcanvas/gtk/glcanvas.cpp b/utils/glcanvas/gtk/glcanvas.cpp index 74b442c096..7fe94697e3 100644 --- a/utils/glcanvas/gtk/glcanvas.cpp +++ b/utils/glcanvas/gtk/glcanvas.cpp @@ -198,29 +198,16 @@ bool wxGLCanvas::Create( wxWindow *parent, wxWindowID id, gtk_widget_push_colormap( colormap ); gtk_widget_push_visual( visual ); - m_glWidget = gtk_drawing_area_new(); - gtk_widget_set_events( m_glWidget, - GDK_EXPOSURE_MASK | - GDK_POINTER_MOTION_HINT_MASK | - GDK_POINTER_MOTION_MASK | - GDK_BUTTON_MOTION_MASK | - GDK_BUTTON1_MOTION_MASK | - GDK_BUTTON2_MOTION_MASK | - GDK_BUTTON3_MOTION_MASK | - GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | - GDK_KEY_PRESS_MASK | - GDK_KEY_RELEASE_MASK | - GDK_ENTER_NOTIFY_MASK | - GDK_LEAVE_NOTIFY_MASK ); - - GTK_WIDGET_SET_FLAGS( m_glWidget, GTK_CAN_FOCUS ); + m_glWidget = gtk_myfixed_new(); gtk_widget_pop_visual(); gtk_widget_pop_colormap(); wxScrolledWindow::Create( parent, id, pos, size, style, name ); + GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS ); + GTK_WIDGET_SET_FLAGS( m_glWidget, GTK_CAN_FOCUS ); + gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), m_glWidget, 0, 0 ); gtk_signal_connect( GTK_OBJECT(m_glWidget), "expose_event", @@ -232,6 +219,9 @@ bool wxGLCanvas::Create( wxWindow *parent, wxWindowID id, /* connect to key press and mouse handlers etc. */ ConnectWidget( m_glWidget ); + /* must be realized for OpenGl output */ + gtk_widget_realize( m_glWidget ); + gtk_widget_show( m_glWidget ); m_glContext = new wxGLContext( TRUE, this, palette ); @@ -332,7 +322,7 @@ void wxGLCanvas::DoSetSize( int x, int y, int width, int height, int sizeFlags ) { gtk_widget_set_usize( m_widget, m_width, m_height ); - gtk_drawing_area_size( GTK_DRAWING_AREA(m_glWidget), m_width, m_height ); + gtk_widget_set_usize( m_glWidget, m_width, m_height ); GtkAllocation allo; allo.x = 0; @@ -340,6 +330,7 @@ void wxGLCanvas::DoSetSize( int x, int y, int width, int height, int sizeFlags ) allo.width = m_width; allo.height = m_height; gtk_widget_size_allocate( m_glWidget, &allo ); + } } diff --git a/utils/glcanvas/samples/isosurf/isosurf.cpp b/utils/glcanvas/samples/isosurf/isosurf.cpp index 7f298d3f82..bc5615f81f 100644 --- a/utils/glcanvas/samples/isosurf/isosurf.cpp +++ b/utils/glcanvas/samples/isosurf/isosurf.cpp @@ -375,6 +375,11 @@ void TestGLCanvas::OnChar(wxKeyEvent& event) glDisable(GL_LIGHTING); } break; + default: + { + event.Skip(); + return; + } } Refresh(FALSE); -- 2.45.2