Distrib changes.

Augemnted version to 2.1.11.
  Applied patch for wxGenericValidator.
  Corrected MDI's wxActivateEvent code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-10-31 15:31:43 +00:00
parent d139753aed
commit e90196a556
10 changed files with 255 additions and 162 deletions

View File

@@ -401,7 +401,7 @@ dnl WX_INTERFACE_AGE = 0
WX_MAJOR_VERSION_NUMBER=2 WX_MAJOR_VERSION_NUMBER=2
WX_MINOR_VERSION_NUMBER=1 WX_MINOR_VERSION_NUMBER=1
WX_RELEASE_NUMBER=10 WX_RELEASE_NUMBER=11
WX_INTERFACE_AGE=0 WX_INTERFACE_AGE=0
WX_BINARY_AGE=0 WX_BINARY_AGE=0

View File

@@ -1,5 +1,5 @@
25th October '99: My birthday, wxWindows 2.1.10 released 1st November '99: wxWindows 2.1.11 released
There is still a unresolved problem with bitmap to image There is still a unresolved problem with bitmap to image
conversion on big-endian architectures (such as Solaris), conversion on big-endian architectures (such as Solaris),
@@ -55,7 +55,8 @@ all relevant SQL databases (even DBase). For that reason
I have reawakened the iODBC code from wxGTK 2.0 so you I have reawakened the iODBC code from wxGTK 2.0 so you
can now use wxODBC from wxMSW and wxGTK. can now use wxODBC from wxMSW and wxGTK.
Several printing things fixed. Several printing things fixed. More work needs to be done
here..
HTML widget and the wxWindows' help system based upon HTML widget and the wxWindows' help system based upon
it have been reorganized and improved for easier use it have been reorganized and improved for easier use
@@ -107,6 +108,15 @@ A handler to read PCX file (in most variants) has been added.
A number of problems with compressed and socket streams have A number of problems with compressed and socket streams have
been solved. been solved.
Changed behavour of wxTextStream to make use of deliminators
and default to space as the standard C++ stream do.
Changes to tab traversal code to better reflect MSW code.
Corrected problems with wxGenericValidator and certain controls.
Made default button action work in more cases.
28th August '99: Ninth wxGTK 2.1 snapshot released 28th August '99: Ninth wxGTK 2.1 snapshot released
As the old makefile system didn't work, I trashed it and wrote As the old makefile system didn't work, I trashed it and wrote

View File

@@ -1,10 +1,17 @@
Welcome to wxWindows/Gtk 2.1 snapshot 9, Welcome to wxWindows/Gtk 2.1.11
you have downloaded version 2.1 of the GTK+ 1.2 port of you have downloaded version 2.1 of the GTK+ 1.2 port of
the wxWindows GUI library. This is a developers release the wxWindows GUI library. Although this is not yet the
and is it not suited for production development. Beware final stable release wxGTK 2.2, the current version has
that major changes can happen before a final release. been tested carefully on many systems and has been found
to work better than any other previous version.
Nonetheless, beware that major changes can happen before
a final release.
wxWindows no longer supports GTK 1.0 (as did some early
snapshots) so that you will need GTK 1.2 when using it.
Beginning with snapshot 9, wxWindows uses a completely Beginning with snapshot 9, wxWindows uses a completely
new make file system on Unix which no longer uses the new make file system on Unix which no longer uses the
@@ -15,18 +22,17 @@ More information is available from my homepage at:
http://wesley.informatik.uni-freiburg.de/~wxxt http://wesley.informatik.uni-freiburg.de/~wxxt
and about the wxWindows project as a whole (and the and about the wxWindows project as a whole (and the MSW
Windows and Motif ports in particular) can be found and Motif ports in particular) can be found at Julian's
at Julian Smart's homepage at: homepage at:
http://web.ukonline.co.uk/julian.smart/wxwin http://web.ukonline.co.uk/julian.smart/wxwin
Information on how to install can be found in the file Information on how to install can be found in the file
INSTALL.txt, but if you cannot wait, this should work on INSTALL.txt, but if you cannot wait, this should work on
many systems (when using GTK 1.0 or when not using Linux many systems:
read the INSTALL.txt):
./configure ./configure --with-gtk
make make
su <type root password> su <type root password>
make install make install

View File

@@ -1,16 +1,10 @@
-------------------- High priority --------------------- -------------------- High priority ---------------------
Finalise DnD API.
Fix bug that thread sample reports about non-finished threads. Fix bug that thread sample reports about non-finished threads.
Added wxExpandedImageList to wxTreeControl.
More testing of Unicode support. More testing of Unicode support.
Make wxSockets work on all platform.
Add ID based i18n system as a replacement for the Add ID based i18n system as a replacement for the
unelegant gettext system. unelegant gettext system.
@@ -20,8 +14,6 @@ Add TIFF handler. Someone? (Hint, hint).
Improve, update translations. Install *.mo files somewehere. Improve, update translations. Install *.mo files somewehere.
Sleep, eat, walk, study, shave, read, play piano and wash less.
-------------------- Medium priority --------------------- -------------------- Medium priority ---------------------
Show accelerator control labels and actually implement them Show accelerator control labels and actually implement them

View File

@@ -315,7 +315,7 @@ are
--without-libjpeg Disables JPEG image format code. --without-libjpeg Disables JPEG image format code.
{ --without-odbc Disables ODBC code. Not yet. } --without-odbc Disables ODBC code.
--disable-resources Disables the use of *.wxr type --disable-resources Disables the use of *.wxr type
resources. resources.

View File

@@ -15,8 +15,8 @@
/* Bump-up with each new version */ /* Bump-up with each new version */
#define wxMAJOR_VERSION 2 #define wxMAJOR_VERSION 2
#define wxMINOR_VERSION 1 #define wxMINOR_VERSION 1
#define wxRELEASE_NUMBER 10 #define wxRELEASE_NUMBER 11
#define wxVERSION_STRING "wxWindows 2.1.10" #define wxVERSION_STRING "wxWindows 2.1.11"
#define wxVERSION_NUMBER (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER #define wxVERSION_NUMBER (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER
#define wxBETA_NUMBER 0 #define wxBETA_NUMBER 0
#define wxVERSION_FLOAT wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0) #define wxVERSION_FLOAT wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0)

View File

@@ -41,6 +41,7 @@
#include "wx/textctrl.h" #include "wx/textctrl.h"
#include "wx/button.h" #include "wx/button.h"
#include "wx/listbox.h" #include "wx/listbox.h"
#include "wx/slider.h"
#endif #endif
#ifndef __WIN16__ #ifndef __WIN16__
@@ -81,14 +82,14 @@ wxGenericValidator::wxGenericValidator(const wxGenericValidator& val)
bool wxGenericValidator::Copy(const wxGenericValidator& val) bool wxGenericValidator::Copy(const wxGenericValidator& val)
{ {
wxValidator::Copy(val); wxValidator::Copy(val);
m_pBool = val.m_pBool; m_pBool = val.m_pBool;
m_pInt = val.m_pInt; m_pInt = val.m_pInt;
m_pString = val.m_pString; m_pString = val.m_pString;
m_pArrayInt = val.m_pArrayInt; m_pArrayInt = val.m_pArrayInt;
return TRUE; return TRUE;
} }
wxGenericValidator::~wxGenericValidator() wxGenericValidator::~wxGenericValidator()
@@ -98,131 +99,144 @@ wxGenericValidator::~wxGenericValidator()
// Called to transfer data to the window // Called to transfer data to the window
bool wxGenericValidator::TransferToWindow(void) bool wxGenericValidator::TransferToWindow(void)
{ {
if ( !m_validatorWindow ) if ( !m_validatorWindow )
return FALSE; return FALSE;
// bool controls // bool controls
#if wxUSE_CHECKBOX #if wxUSE_CHECKBOX
if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckBox)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckBox)) )
{
wxCheckBox* pControl = (wxCheckBox*) m_validatorWindow;
if (m_pBool)
{ {
pControl->SetValue(*m_pBool) ; wxCheckBox* pControl = (wxCheckBox*) m_validatorWindow;
return TRUE; if (m_pBool)
} {
} else pControl->SetValue(*m_pBool);
return TRUE;
}
} else
#endif #endif
#if wxUSE_RADIOBTN #if wxUSE_RADIOBTN
if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) )
{ {
wxRadioButton* pControl = (wxRadioButton*) m_validatorWindow; wxRadioButton* pControl = (wxRadioButton*) m_validatorWindow;
if (m_pBool) if (m_pBool)
{ {
pControl->SetValue(*m_pBool) ; pControl->SetValue(*m_pBool) ;
return TRUE; return TRUE;
} }
} else } else
#endif #endif
// int controls
// int controls
#if wxUSE_GAUGE #if wxUSE_GAUGE
if (m_validatorWindow->IsKindOf(CLASSINFO(wxGauge)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxGauge)) )
{
wxGauge* pControl = (wxGauge*) m_validatorWindow;
if (m_pInt)
{ {
pControl->SetValue(*m_pInt) ; wxGauge* pControl = (wxGauge*) m_validatorWindow;
return TRUE; if (m_pInt)
} {
} pControl->SetValue(*m_pInt);
else return TRUE;
}
} else
#endif #endif
#if wxUSE_RADIOBOX #if wxUSE_RADIOBOX
if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) )
{
wxRadioBox* pControl = (wxRadioBox*) m_validatorWindow;
if (m_pInt)
{ {
pControl->SetSelection(*m_pInt) ; wxRadioBox* pControl = (wxRadioBox*) m_validatorWindow;
return TRUE; if (m_pInt)
} {
} pControl->SetSelection(*m_pInt) ;
else return TRUE;
}
} else
#endif #endif
#if wxUSE_SCROLLBAR #if wxUSE_SCROLLBAR
if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) )
{
wxScrollBar* pControl = (wxScrollBar*) m_validatorWindow;
if (m_pInt)
{ {
pControl->SetThumbPosition(*m_pInt) ; wxScrollBar* pControl = (wxScrollBar*) m_validatorWindow;
return TRUE; if (m_pInt)
} {
} else pControl->SetThumbPosition(*m_pInt) ;
return TRUE;
}
} else
#endif #endif
#if wxUSE_SPINBTN #if wxUSE_SPINBTN
#ifndef __WIN16__ #ifndef __WIN16__
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) )
{
wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
if (m_pInt)
{ {
pControl->SetValue(*m_pInt) ; wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
return TRUE; if (m_pInt)
} {
} else pControl->SetValue(*m_pInt) ;
return TRUE;
}
} else
#endif #endif
#endif #endif
#if wxUSE_SLIDER
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSlider)) )
{
wxSlider* pControl = (wxSlider*) m_validatorWindow;
if (m_pInt)
{
pControl->SetValue(*m_pInt) ;
return TRUE;
}
} else
#endif
// string controls // string controls
if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) ) #if 1
{ if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
wxButton* pControl = (wxButton*) m_validatorWindow;
if (m_pString)
{ {
pControl->SetLabel(*m_pString) ; wxButton* pControl = (wxButton*) m_validatorWindow;
return TRUE; if (m_pString)
} {
} else pControl->SetLabel(*m_pString) ;
return TRUE;
}
} else
#endif
#if wxUSE_COMBOBOX #if wxUSE_COMBOBOX
if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) )
{
wxComboBox* pControl = (wxComboBox*) m_validatorWindow;
if (m_pString)
{ {
pControl->SetValue(*m_pString) ; wxComboBox* pControl = (wxComboBox*) m_validatorWindow;
return TRUE; if (m_pString)
} {
} else pControl->SetValue(*m_pString) ;
return TRUE;
}
} else
#endif #endif
#if wxUSE_CHOICE #if wxUSE_CHOICE
if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) )
{ {
wxChoice* pControl = (wxChoice*) m_validatorWindow; wxChoice* pControl = (wxChoice*) m_validatorWindow;
if (m_pInt) if (m_pInt)
{ {
pControl->SetSelection(*m_pInt) ; pControl->SetSelection(*m_pInt) ;
return TRUE; return TRUE;
} }
} else } else
#endif #endif
if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
{
wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
if (m_pString)
{ {
pControl->SetLabel(*m_pString) ; wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
return TRUE;
}
}
else if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
{
wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
if (m_pString) if (m_pString)
{
pControl->SetLabel(*m_pString) ;
return TRUE;
}
} else
if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
{ {
pControl->SetValue(*m_pString) ; wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
return TRUE; if (m_pString)
} {
} else pControl->SetValue(*m_pString) ;
return TRUE;
}
} else
#if wxUSE_CHECKLISTBOX #if wxUSE_CHECKLISTBOX
#ifndef __WIN16__ #ifndef __WIN16__
// array controls // array controls
@@ -249,22 +263,22 @@ bool wxGenericValidator::TransferToWindow(void)
#endif #endif
#endif #endif
#if wxUSE_LISTBOX #if wxUSE_LISTBOX
if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) )
{
wxListBox* pControl = (wxListBox*) m_validatorWindow;
if (m_pArrayInt)
{ {
// clear all selections wxListBox* pControl = (wxListBox*) m_validatorWindow;
int i; if (m_pArrayInt)
for (i = 0 ; i < pControl->Number(); ++i) {
pControl->Deselect(i); // clear all selections
// select each item in our array int i;
unsigned u; for (i = 0 ; i < pControl->Number(); ++i)
for (u = 0; u < m_pArrayInt->Count(); ++u) pControl->Deselect(i);
pControl->SetSelection(m_pArrayInt->Item(u)); // select each item in our array
return TRUE; unsigned u;
} for (u = 0; u < m_pArrayInt->Count(); ++u)
} else pControl->SetSelection(m_pArrayInt->Item(u));
return TRUE;
}
} else
#endif #endif
// unrecognized control, or bad pointer // unrecognized control, or bad pointer
@@ -272,7 +286,7 @@ bool wxGenericValidator::TransferToWindow(void)
return FALSE; return FALSE;
} }
// Called to transfer data to the window // Called to transfer data from the window
bool wxGenericValidator::TransferFromWindow(void) bool wxGenericValidator::TransferFromWindow(void)
{ {
if ( !m_validatorWindow ) if ( !m_validatorWindow )
@@ -347,6 +361,17 @@ bool wxGenericValidator::TransferFromWindow(void)
} }
} else } else
#endif #endif
#endif
#if wxUSE_SLIDER
if (m_validatorWindow->IsKindOf(CLASSINFO(wxSlider)) )
{
wxSlider* pControl = (wxSlider*) m_validatorWindow;
if (m_pInt)
{
pControl->SetValue(*m_pInt) ;
return TRUE;
}
} else
#endif #endif
// string controls // string controls
if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) ) if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
@@ -399,7 +424,7 @@ bool wxGenericValidator::TransferFromWindow(void)
return TRUE; return TRUE;
} }
} else } else
#if wxUSE_LISTBOX #if wxUSE_CHECKLISTBOX
#ifndef __WIN16__ #ifndef __WIN16__
// array controls // array controls
// NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox // NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox

View File

@@ -47,21 +47,51 @@ extern wxList wxPendingDelete;
// "switch_page" // "switch_page"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static void gtk_mdi_page_change_callback(GtkNotebook *WXUNUSED(widget), static void
GtkNotebookPage *WXUNUSED(page), gtk_mdi_page_change_callback( GtkNotebook *widget,
gint WXUNUSED(page), GtkNotebookPage *page,
wxMDIParentFrame *parent ) gint WXUNUSED(page_num),
wxMDIParentFrame *parent )
{ {
if (g_isIdle) if (g_isIdle)
wxapp_install_idle_handler(); wxapp_install_idle_handler();
wxMDIChildFrame *child = parent->GetActiveChild(); // send deactivate event to old child
if (!child) return;
wxActivateEvent event( wxEVT_ACTIVATE, TRUE, child->GetId() ); wxMDIChildFrame *child = parent->GetActiveChild();
event.SetEventObject( child); if (child)
child->GetEventHandler()->ProcessEvent( event ); {
wxActivateEvent event1( wxEVT_ACTIVATE, FALSE, child->GetId() );
event1.SetEventObject( child);
child->GetEventHandler()->ProcessEvent( event1 );
}
// send activate event to new child
wxMDIClientWindow *client_window = parent->GetClientWindow();
if (!client_window)
return;
child = (wxMDIChildFrame*) NULL;
wxNode *node = client_window->GetChildren().First();
while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
if (child_frame->m_page == page)
{
child = child_frame;
break;
}
node = node->Next();
}
if (!child)
return;
wxActivateEvent event2( wxEVT_ACTIVATE, TRUE, child->GetId() );
event2.SetEventObject( child);
child->GetEventHandler()->ProcessEvent( event2 );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -47,21 +47,51 @@ extern wxList wxPendingDelete;
// "switch_page" // "switch_page"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static void gtk_mdi_page_change_callback(GtkNotebook *WXUNUSED(widget), static void
GtkNotebookPage *WXUNUSED(page), gtk_mdi_page_change_callback( GtkNotebook *widget,
gint WXUNUSED(page), GtkNotebookPage *page,
wxMDIParentFrame *parent ) gint WXUNUSED(page_num),
wxMDIParentFrame *parent )
{ {
if (g_isIdle) if (g_isIdle)
wxapp_install_idle_handler(); wxapp_install_idle_handler();
wxMDIChildFrame *child = parent->GetActiveChild(); // send deactivate event to old child
if (!child) return;
wxActivateEvent event( wxEVT_ACTIVATE, TRUE, child->GetId() ); wxMDIChildFrame *child = parent->GetActiveChild();
event.SetEventObject( child); if (child)
child->GetEventHandler()->ProcessEvent( event ); {
wxActivateEvent event1( wxEVT_ACTIVATE, FALSE, child->GetId() );
event1.SetEventObject( child);
child->GetEventHandler()->ProcessEvent( event1 );
}
// send activate event to new child
wxMDIClientWindow *client_window = parent->GetClientWindow();
if (!client_window)
return;
child = (wxMDIChildFrame*) NULL;
wxNode *node = client_window->GetChildren().First();
while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
if (child_frame->m_page == page)
{
child = child_frame;
break;
}
node = node->Next();
}
if (!child)
return;
wxActivateEvent event2( wxEVT_ACTIVATE, TRUE, child->GetId() );
event2.SetEventObject( child);
child->GetEventHandler()->ProcessEvent( event2 );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -1,6 +1,6 @@
# Note that this is NOT a relocatable package # Note that this is NOT a relocatable package
%define pref /usr %define pref /usr
%define ver 2.1.10 %define ver 2.1.11
%define rel 0 %define rel 0
Summary: The GTK+ 1.2 port of the wxWindows library Summary: The GTK+ 1.2 port of the wxWindows library
@@ -9,7 +9,7 @@ Version: %{ver}
Release: %{rel} Release: %{rel}
Copyright: wxWindows Licence Copyright: wxWindows Licence
Group: X11/Libraries Group: X11/Libraries
Source: ftp://wesley.informatik.uni-freiburg.de/pub/linux/wxxt/source/wxGTK-2.1.10.tgz Source: ftp://wesley.informatik.uni-freiburg.de/pub/linux/wxxt/source/wxGTK-2.1.11.tgz
URL: http://wesley.informatik.uni-freiburg.de/~wxxt/docs.html URL: http://wesley.informatik.uni-freiburg.de/~wxxt/docs.html
Packager: Robert Roebling <roebling@ruf.uni-freiburg.de> Packager: Robert Roebling <roebling@ruf.uni-freiburg.de>
BuildRoot: /tmp/wxgtk_root BuildRoot: /tmp/wxgtk_root