Changed instal path for setup.h

changed socket stream inheritance to virtual
  removed a few more warnings from the samples
  corrected thread habdling in configure.in
  removed dancing sliders from scrollbars
  corrected notebook send event bug and added it
   the controls sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-09-12 17:18:12 +00:00
parent e55ad60e19
commit cb43b372fb
24 changed files with 441 additions and 226 deletions

View File

@@ -53,6 +53,7 @@ install::
$(includedir)/wx/common \
$(includedir)/wx/generic \
$(includedir)/wx/protocol \
$(libdir)/wx/include/wx/gtk \
$(libdir) \
$(bindir)
@echo " Copying headers from /include/wx"
@@ -82,6 +83,9 @@ install::
rm -f $(includedir)/wx/protocol/$$f ; \
$(INSTALL_DATA) $$f $(includedir)/wx/protocol/$$f ; \
done
@echo " Moving setup.h to library path"
@$(INSTALL) -d $(libdir)/wx/include/wx/gtk ;\
mv $(includedir)/wx/gtk/setup.h $(libdir)/wx/include/wx/gtk/setup.h ;
@echo " Copying wx-config"
@cd $(WXBASEDIR) ; \
$(INSTALL) -d $(bindir) ;\
@@ -91,16 +95,19 @@ install::
@cd $(WXBASEDIR)/lib/$(OS) ; \
rm -f $(libdir)/$(STATIC_LIBRARY) ; \
$(INSTALL_DATA) $(STATIC_LIBRARY) $(libdir)/$(STATIC_LIBRARY)
@if test -d $(SHARED_LIBRARY); then \
echo " Copying shared library" \
@if test $(WXBASEDIR)/lib/$(OS)/$(SHARED_LIBRARY) ; then \
echo " Copying shared library" ; \
cd $(WXBASEDIR)/lib/$(OS) ; \
rm -f $(libdir)/$(SHARED_LIBRARY) ; \
rm -f $(libdir)/lib$(LIB_TARGET).so* ; \
$(INSTALL_PROGRAM) $(SHARED_LIBRARY) $(libdir)/$(SHARED_LIBRARY) ; \
$(LN_S) $(SHARED_LIBRARY) $(libdir)/lib$(LIB_TARGET).so.$(LIB_MAJOR) ; \
$(LN_S) $(SHARED_LIBRARY) $(libdir)/lib$(LIB_TARGET).so ; \
echo " " ; \
echo " You may have to run ldconfig!" ; \
echo " " ; \
fi
@echo " "
@echo "Installation complete. You may have to run ldconfig!"
@echo "Installation complete."
@echo " "
clean::

View File

@@ -194,7 +194,7 @@ wxTCPConnection::~wxTCPConnection (void)
wxDELETE(m_sockstrm);
}
void wxTCPConnection::Compress(bool on)
void wxTCPConnection::Compress(bool WXUNUSED(on))
{
// Use wxLZWStream
}

View File

@@ -458,11 +458,7 @@ bool wxSocketBase::GetPeer(wxSockAddress& addr_man) const
if (m_fd < 0)
return FALSE;
#ifdef __WINDOWS__
if (getpeername(m_fd, (struct sockaddr *)&my_addr, (int *)&len_addr) < 0)
#else
if (getpeername(m_fd, (struct sockaddr *)&my_addr, (unsigned int *)&len_addr) < 0)
#endif
return FALSE;
addr_man.Disassemble(&my_addr, len_addr);
@@ -477,11 +473,7 @@ bool wxSocketBase::GetLocal(wxSockAddress& addr_man) const
if (m_fd < 0)
return FALSE;
#ifdef __WINDOWS__
if (getsockname(m_fd, (struct sockaddr *)&my_addr, (int *)&len_addr) < 0)
#else
if (getsockname(m_fd, (struct sockaddr *)&my_addr, (unsigned int *)&len_addr) < 0)
#endif
return FALSE;
addr_man.Disassemble(&my_addr, len_addr);

View File

@@ -4,7 +4,7 @@ NONE =
# define library name
LIB_TARGET=wx_gtk
LIB_MAJOR=1
LIB_MINOR=93
LIB_MINOR=94
# define library sources

View File

@@ -62,12 +62,11 @@ static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
int old = notebook->GetSelection();
// TODO: emulate PAGE_CHANGING event
wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
notebook->GetId(),
nPage,
old);
wxNotebookEvent event( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
notebook->GetId(), nPage, old );
event.SetEventObject( notebook );
notebook->ProcessEvent( event );
notebook->GetEventHandler()->ProcessEvent( event );
}
//-----------------------------------------------------------------------------

View File

@@ -61,6 +61,34 @@ static void gtk_scrollbar_callback( GtkWidget *WXUNUSED(widget), wxScrollBar *wi
*/
}
//-----------------------------------------------------------------------------
// "button_press_event" from slider
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_press_callback( GtkRange *widget, GdkEventButton *gdk_event, wxScrollBar *win )
{
if (gdk_event->window != widget->slider) return FALSE;
win->m_isScrolling = TRUE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "button_release_event" from slider
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_release_callback( GtkRange *widget, GdkEventButton *gdk_event, wxScrollBar *win )
{
if (gdk_event->window != widget->slider) return FALSE;
gtk_signal_emit_by_name( GTK_OBJECT(win->m_adjust), "value_changed" );
win->m_isScrolling = FALSE;
return FALSE;
}
//-----------------------------------------------------------------------------
// wxScrollBar
//-----------------------------------------------------------------------------
@@ -93,6 +121,12 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed",
(GtkSignalFunc) gtk_scrollbar_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget), "button_press_event",
(GtkSignalFunc)gtk_scrollbar_button_press_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
PostCreation();
Show( TRUE );
@@ -126,25 +160,29 @@ void wxScrollBar::SetPosition( int viewStart )
m_oldPos = fpos;
if (fabs(fpos-m_adjust->value) < 0.2) return;
m_adjust->value = fpos;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
if (!m_isScrolling)
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
}
void wxScrollBar::SetScrollbar( int position, int thumbSize, int range, int pageSize,
bool WXUNUSED(refresh) )
{
float fpos = (float)position;
m_oldPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbSize;
float fpage = (float)pageSize;
if ((fabs(fpos-m_adjust->value) < 0.2) &&
(fabs(frange-m_adjust->upper) < 0.2) &&
if ((fabs(frange-m_adjust->upper) < 0.2) &&
(fabs(fthumb-m_adjust->page_size) < 0.2) &&
(fabs(fpage-m_adjust->page_increment) < 0.2))
return;
{
SetPosition( position );
return;
}
m_oldPos = fpos;
m_adjust->lower = 0.0;
m_adjust->upper = frange;
m_adjust->value = fpos;

View File

@@ -799,6 +799,39 @@ static void gtk_window_hscroll_change_callback( GtkWidget *WXUNUSED(widget), wxW
win->GetEventHandler()->ProcessEvent( event );
}
//-----------------------------------------------------------------------------
// "button_press_event" from scrollbar
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_press_callback( GtkRange *widget, GdkEventButton *gdk_event, wxWindow *win )
{
if (gdk_event->window != widget->slider) return FALSE;
win->m_isScrolling = TRUE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "button_release_event" from scrollbar
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_release_callback( GtkRange *widget, GdkEventButton *gdk_event, wxWindow *win )
{
if (gdk_event->window != widget->slider) return FALSE;
GtkScrolledWindow *s_window = GTK_SCROLLED_WINDOW(win->m_widget);
if (widget == GTK_RANGE(s_window->vscrollbar))
gtk_signal_emit_by_name( GTK_OBJECT(win->m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(win->m_vAdjust), "value_changed" );
win->m_isScrolling = FALSE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "drop_data_available_event"
//-----------------------------------------------------------------------------
@@ -865,6 +898,7 @@ wxWindow::wxWindow()
m_hasVMT = FALSE;
m_needParent = TRUE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
m_hAdjust = (GtkAdjustment *) NULL;
m_vAdjust = (GtkAdjustment *) NULL;
m_oldHorizontalPos = 0.0;
@@ -891,9 +925,14 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_scrolled_window_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
m_hasScrolling = TRUE;
GtkScrolledWindow *s_window;
s_window = GTK_SCROLLED_WINDOW(m_widget);
GtkScrolledWindow *s_window = GTK_SCROLLED_WINDOW(m_widget);
gtk_signal_connect( GTK_OBJECT(s_window->vscrollbar), "button_press_event",
(GtkSignalFunc)gtk_scrollbar_button_press_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(s_window->hscrollbar), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
GtkScrolledWindowClass *scroll_class = GTK_SCROLLED_WINDOW_CLASS( GTK_OBJECT(m_widget)->klass );
scroll_class->scrollbar_spacing = 0;
@@ -905,18 +944,17 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
m_hAdjust = gtk_range_get_adjustment( GTK_RANGE(s_window->hscrollbar) );
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(s_window->vscrollbar) );
gtk_signal_connect (GTK_OBJECT (m_hAdjust), "value_changed",
gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
(GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_vAdjust), "value_changed",
gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
(GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_hAdjust), "changed",
gtk_signal_connect( GTK_OBJECT(m_hAdjust), "changed",
(GtkSignalFunc) gtk_window_hscroll_change_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_vAdjust), "changed",
gtk_signal_connect(GTK_OBJECT(m_vAdjust), "changed",
(GtkSignalFunc) gtk_window_vscroll_change_callback, (gpointer) this );
GtkViewport *viewport;
viewport = GTK_VIEWPORT(s_window->viewport);
GtkViewport *viewport = GTK_VIEWPORT(s_window->viewport);
if (m_windowStyle & wxRAISED_BORDER)
{
@@ -1055,6 +1093,8 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_windowSizer = (wxSizer *) NULL;
m_sizerParent = (wxWindow *) NULL;
m_autoLayout = FALSE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
m_pDropTarget = (wxDropTarget *) NULL;
m_resizing = FALSE;
m_windowValidator = (wxValidator *) NULL;
@@ -2197,7 +2237,7 @@ wxWindow *wxWindow::FindWindow( const wxString& name )
}
void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
int range, bool WXUNUSED(refresh) )
int range, bool refresh )
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2208,15 +2248,18 @@ void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
if (orient == wxHORIZONTAL)
{
float fpos = (float)pos;
m_oldHorizontalPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbVisible;
if ((fabs(fpos-m_hAdjust->value) < 0.2) &&
(fabs(frange-m_hAdjust->upper) < 0.2) &&
(fabs(fthumb-m_hAdjust->page_size) < 0.2))
if ((fabs(frange-m_hAdjust->upper) < 0.2) &&
(fabs(fthumb-m_hAdjust->page_size) < 0.2))
{
SetScrollPos( orient, pos, refresh );
return;
}
m_oldHorizontalPos = fpos;
m_hAdjust->lower = 0.0;
m_hAdjust->upper = frange;
m_hAdjust->value = fpos;
@@ -2227,14 +2270,17 @@ void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
else
{
float fpos = (float)pos;
m_oldVerticalPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbVisible;
if ((fabs(fpos-m_vAdjust->value) < 0.2) &&
(fabs(frange-m_vAdjust->upper) < 0.2) &&
(fabs(fthumb-m_vAdjust->page_size) < 0.2))
if ((fabs(frange-m_vAdjust->upper) < 0.2) &&
(fabs(fthumb-m_vAdjust->page_size) < 0.2))
{
SetScrollPos( orient, pos, refresh );
return;
}
m_oldVerticalPos = fpos;
m_vAdjust->lower = 0.0;
m_vAdjust->upper = frange;
@@ -2279,12 +2325,15 @@ void wxWindow::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
m_vAdjust->value = fpos;
}
if (m_wxwindow->window)
{
if (orient == wxHORIZONTAL)
gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
if (!m_isScrolling)
{
if (m_wxwindow->window)
{
if (orient == wxHORIZONTAL)
gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
}
}
}

View File

@@ -62,12 +62,11 @@ static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
int old = notebook->GetSelection();
// TODO: emulate PAGE_CHANGING event
wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
notebook->GetId(),
nPage,
old);
wxNotebookEvent event( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
notebook->GetId(), nPage, old );
event.SetEventObject( notebook );
notebook->ProcessEvent( event );
notebook->GetEventHandler()->ProcessEvent( event );
}
//-----------------------------------------------------------------------------

View File

@@ -61,6 +61,34 @@ static void gtk_scrollbar_callback( GtkWidget *WXUNUSED(widget), wxScrollBar *wi
*/
}
//-----------------------------------------------------------------------------
// "button_press_event" from slider
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_press_callback( GtkRange *widget, GdkEventButton *gdk_event, wxScrollBar *win )
{
if (gdk_event->window != widget->slider) return FALSE;
win->m_isScrolling = TRUE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "button_release_event" from slider
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_release_callback( GtkRange *widget, GdkEventButton *gdk_event, wxScrollBar *win )
{
if (gdk_event->window != widget->slider) return FALSE;
gtk_signal_emit_by_name( GTK_OBJECT(win->m_adjust), "value_changed" );
win->m_isScrolling = FALSE;
return FALSE;
}
//-----------------------------------------------------------------------------
// wxScrollBar
//-----------------------------------------------------------------------------
@@ -93,6 +121,12 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed",
(GtkSignalFunc) gtk_scrollbar_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget), "button_press_event",
(GtkSignalFunc)gtk_scrollbar_button_press_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
PostCreation();
Show( TRUE );
@@ -126,25 +160,29 @@ void wxScrollBar::SetPosition( int viewStart )
m_oldPos = fpos;
if (fabs(fpos-m_adjust->value) < 0.2) return;
m_adjust->value = fpos;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
if (!m_isScrolling)
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
}
void wxScrollBar::SetScrollbar( int position, int thumbSize, int range, int pageSize,
bool WXUNUSED(refresh) )
{
float fpos = (float)position;
m_oldPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbSize;
float fpage = (float)pageSize;
if ((fabs(fpos-m_adjust->value) < 0.2) &&
(fabs(frange-m_adjust->upper) < 0.2) &&
if ((fabs(frange-m_adjust->upper) < 0.2) &&
(fabs(fthumb-m_adjust->page_size) < 0.2) &&
(fabs(fpage-m_adjust->page_increment) < 0.2))
return;
{
SetPosition( position );
return;
}
m_oldPos = fpos;
m_adjust->lower = 0.0;
m_adjust->upper = frange;
m_adjust->value = fpos;

View File

@@ -799,6 +799,39 @@ static void gtk_window_hscroll_change_callback( GtkWidget *WXUNUSED(widget), wxW
win->GetEventHandler()->ProcessEvent( event );
}
//-----------------------------------------------------------------------------
// "button_press_event" from scrollbar
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_press_callback( GtkRange *widget, GdkEventButton *gdk_event, wxWindow *win )
{
if (gdk_event->window != widget->slider) return FALSE;
win->m_isScrolling = TRUE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "button_release_event" from scrollbar
//-----------------------------------------------------------------------------
static gint gtk_scrollbar_button_release_callback( GtkRange *widget, GdkEventButton *gdk_event, wxWindow *win )
{
if (gdk_event->window != widget->slider) return FALSE;
GtkScrolledWindow *s_window = GTK_SCROLLED_WINDOW(win->m_widget);
if (widget == GTK_RANGE(s_window->vscrollbar))
gtk_signal_emit_by_name( GTK_OBJECT(win->m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(win->m_vAdjust), "value_changed" );
win->m_isScrolling = FALSE;
return FALSE;
}
//-----------------------------------------------------------------------------
// "drop_data_available_event"
//-----------------------------------------------------------------------------
@@ -865,6 +898,7 @@ wxWindow::wxWindow()
m_hasVMT = FALSE;
m_needParent = TRUE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
m_hAdjust = (GtkAdjustment *) NULL;
m_vAdjust = (GtkAdjustment *) NULL;
m_oldHorizontalPos = 0.0;
@@ -891,9 +925,14 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_scrolled_window_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
m_hasScrolling = TRUE;
GtkScrolledWindow *s_window;
s_window = GTK_SCROLLED_WINDOW(m_widget);
GtkScrolledWindow *s_window = GTK_SCROLLED_WINDOW(m_widget);
gtk_signal_connect( GTK_OBJECT(s_window->vscrollbar), "button_press_event",
(GtkSignalFunc)gtk_scrollbar_button_press_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(s_window->hscrollbar), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
GtkScrolledWindowClass *scroll_class = GTK_SCROLLED_WINDOW_CLASS( GTK_OBJECT(m_widget)->klass );
scroll_class->scrollbar_spacing = 0;
@@ -905,18 +944,17 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
m_hAdjust = gtk_range_get_adjustment( GTK_RANGE(s_window->hscrollbar) );
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(s_window->vscrollbar) );
gtk_signal_connect (GTK_OBJECT (m_hAdjust), "value_changed",
gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
(GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_vAdjust), "value_changed",
gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
(GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_hAdjust), "changed",
gtk_signal_connect( GTK_OBJECT(m_hAdjust), "changed",
(GtkSignalFunc) gtk_window_hscroll_change_callback, (gpointer) this );
gtk_signal_connect (GTK_OBJECT (m_vAdjust), "changed",
gtk_signal_connect(GTK_OBJECT(m_vAdjust), "changed",
(GtkSignalFunc) gtk_window_vscroll_change_callback, (gpointer) this );
GtkViewport *viewport;
viewport = GTK_VIEWPORT(s_window->viewport);
GtkViewport *viewport = GTK_VIEWPORT(s_window->viewport);
if (m_windowStyle & wxRAISED_BORDER)
{
@@ -1055,6 +1093,8 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_windowSizer = (wxSizer *) NULL;
m_sizerParent = (wxWindow *) NULL;
m_autoLayout = FALSE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
m_pDropTarget = (wxDropTarget *) NULL;
m_resizing = FALSE;
m_windowValidator = (wxValidator *) NULL;
@@ -2197,7 +2237,7 @@ wxWindow *wxWindow::FindWindow( const wxString& name )
}
void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
int range, bool WXUNUSED(refresh) )
int range, bool refresh )
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2208,15 +2248,18 @@ void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
if (orient == wxHORIZONTAL)
{
float fpos = (float)pos;
m_oldHorizontalPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbVisible;
if ((fabs(fpos-m_hAdjust->value) < 0.2) &&
(fabs(frange-m_hAdjust->upper) < 0.2) &&
(fabs(fthumb-m_hAdjust->page_size) < 0.2))
if ((fabs(frange-m_hAdjust->upper) < 0.2) &&
(fabs(fthumb-m_hAdjust->page_size) < 0.2))
{
SetScrollPos( orient, pos, refresh );
return;
}
m_oldHorizontalPos = fpos;
m_hAdjust->lower = 0.0;
m_hAdjust->upper = frange;
m_hAdjust->value = fpos;
@@ -2227,14 +2270,17 @@ void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
else
{
float fpos = (float)pos;
m_oldVerticalPos = fpos;
float frange = (float)range;
float fthumb = (float)thumbVisible;
if ((fabs(fpos-m_vAdjust->value) < 0.2) &&
(fabs(frange-m_vAdjust->upper) < 0.2) &&
(fabs(fthumb-m_vAdjust->page_size) < 0.2))
if ((fabs(frange-m_vAdjust->upper) < 0.2) &&
(fabs(fthumb-m_vAdjust->page_size) < 0.2))
{
SetScrollPos( orient, pos, refresh );
return;
}
m_oldVerticalPos = fpos;
m_vAdjust->lower = 0.0;
m_vAdjust->upper = frange;
@@ -2279,12 +2325,15 @@ void wxWindow::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
m_vAdjust->value = fpos;
}
if (m_wxwindow->window)
{
if (orient == wxHORIZONTAL)
gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
if (!m_isScrolling)
{
if (m_wxwindow->window)
{
if (orient == wxHORIZONTAL)
gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
else
gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
}
}
}