wxToolTip modifications: wxUSE_TOOLTIPS setting (default: on) added and

the interface changed slightly to be even more consistent with wxMSW


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-02-01 14:40:53 +00:00
parent 301cd871a2
commit ff8bfdbbb1
23 changed files with 1364 additions and 1299 deletions

View File

@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -30,15 +30,15 @@ extern bool g_blockEventsOnDrag;
static void gtk_checkbox_clicked_callback( GtkWidget *WXUNUSED(widget), wxCheckBox *cb )
{
if (!cb->HasVMT()) return;
if (cb->m_blockFirstEvent)
{
cb->m_blockFirstEvent = FALSE;
return;
}
}
if (g_blockEventsOnDrag) return;
wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, cb->GetId());
event.SetInt( cb->GetValue() );
event.SetEventObject(cb);
@@ -56,50 +56,50 @@ wxCheckBox::wxCheckBox(void)
}
bool wxCheckBox::Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size,
const wxPoint &pos, const wxSize &size,
long style, const wxValidator& validator, const wxString &name )
{
m_needParent = TRUE;
m_acceptsFocus = TRUE;
PreCreation( parent, id, pos, size, style, name );
SetValidator( validator );
m_widget = gtk_check_button_new_with_label( m_label );
m_blockFirstEvent = FALSE;
wxSize newSize = size;
if (newSize.x == -1) newSize.x = 25+gdk_string_measure( m_widget->style->font, label );
if (newSize.y == -1) newSize.y = 26;
SetSize( newSize.x, newSize.y );
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
GTK_SIGNAL_FUNC(gtk_checkbox_clicked_callback), (gpointer*)this );
m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this );
PostCreation();
gtk_widget_realize( GTK_BUTTON( m_widget )->child );
SetLabel( label );
SetBackgroundColour( parent->GetBackgroundColour() );
SetForegroundColour( parent->GetForegroundColour() );
Show( TRUE );
return TRUE;
}
void wxCheckBox::SetValue( bool state )
{
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
if ( state == GetValue() )
return;
@@ -122,7 +122,7 @@ void wxCheckBox::SetLabel( const wxString& label )
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
wxControl::SetLabel( label );
gtk_label_set( GTK_LABEL( GTK_BUTTON(m_widget)->child ), GetLabel() );
}
@@ -131,7 +131,7 @@ void wxCheckBox::Enable( bool enable )
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
wxControl::Enable( enable );
gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
}

View File

@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
@@ -31,7 +31,7 @@ wxCheckListBox::wxCheckListBox() :
wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
int nStrings,
int nStrings,
const wxString choices[],
long style,
const wxValidator& validator,
@@ -44,18 +44,18 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
bool wxCheckListBox::IsChecked( int index ) const
{
wxCHECK_MSG( m_list != NULL, FALSE, "invalid checklistbox" );
GList *child = g_list_nth( m_list->children, index );
if (child)
{
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str = label->label;
wxString str = label->label;
return (str[1] == 'X');
}
wxFAIL_MSG("wrong checklistbox index");
return FALSE;
}
@@ -63,31 +63,32 @@ bool wxCheckListBox::IsChecked( int index ) const
void wxCheckListBox::Check( int index, bool check )
{
wxCHECK_RET( m_list != NULL, "invalid checklistbox" );
GList *child = g_list_nth( m_list->children, index );
if (child)
{
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str = label->label;
wxString str = label->label;
if (check == (str[1] == 'X')) return;
if (check)
str.SetChar( 1, 'X' );
else
str.SetChar( 1, '-' );
gtk_label_set( label, str );
return;
if (check)
str.SetChar( 1, 'X' );
else
str.SetChar( 1, '-' );
gtk_label_set( label, str );
return;
}
wxFAIL_MSG("wrong checklistbox index");
}
int wxCheckListBox::GetItemHeight()
int wxCheckListBox::GetItemHeight() const
{
// FIXME
return 22;
}

View File

@@ -47,7 +47,7 @@ extern bool g_blockEventsOnScroll;
// "button_press_event"
//-----------------------------------------------------------------------------
static gint
static gint
gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event, wxListBox *listbox )
{
if (g_blockEventsOnDrag) return FALSE;
@@ -56,24 +56,24 @@ gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event,
if (!listbox->HasVMT()) return FALSE;
int sel = listbox->GetIndex( widget );
if ((listbox->m_hasCheckBoxes) && (gdk_event->x < 15) && (gdk_event->type != GDK_2BUTTON_PRESS))
{
wxCheckListBox *clb = (wxCheckListBox *)listbox;
clb->Check( sel, !clb->IsChecked(sel) );
wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
event.SetEventObject( listbox );
event.SetInt( sel );
listbox->GetEventHandler()->ProcessEvent( event );
}
if (gdk_event->type == GDK_2BUTTON_PRESS)
{
wxCommandEvent event( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, listbox->GetId() );
event.SetEventObject( listbox );
wxArrayInt aSelections;
int count = listbox->GetSelections(aSelections);
if ( count > 0 )
@@ -90,7 +90,7 @@ gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event,
}
listbox->GetEventHandler()->ProcessEvent( event );
if (event.m_commandString) delete[] event.m_commandString ;
}
@@ -101,7 +101,7 @@ gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event,
// "key_press_event"
//-----------------------------------------------------------------------------
static gint
static gint
gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxListBox *listbox )
{
if (g_blockEventsOnDrag) return FALSE;
@@ -109,18 +109,18 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
if (!listbox->HasVMT()) return FALSE;
if (gdk_event->keyval != ' ') return FALSE;
int sel = listbox->GetIndex( widget );
wxCheckListBox *clb = (wxCheckListBox *)listbox;
clb->Check( sel, !clb->IsChecked(sel) );
wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
event.SetEventObject( listbox );
event.SetInt( sel );
listbox->GetEventHandler()->ProcessEvent( event );
return FALSE;
}
@@ -183,7 +183,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_scrolled_window_new( (GtkAdjustment*) NULL, (GtkAdjustment*) NULL );
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(m_widget),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
m_list = GTK_LIST( gtk_list_new() );
GtkSelectionMode mode = GTK_SELECTION_BROWSE;
@@ -202,7 +202,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
#ifdef __WXDEBUG__
debug_focus_in( m_widget, "wxListBox::m_widget", name );
debug_focus_in( GTK_WIDGET(m_list), "wxListBox::m_list", name );
GtkScrolledWindow *s_window = GTK_SCROLLED_WINDOW(m_widget);
@@ -230,24 +230,24 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
{
m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) NULL );
GtkWidget *list_item;
if (m_hasCheckBoxes)
{
if (m_hasCheckBoxes)
{
wxString str = "[-] ";
str += choices[i];
str += choices[i];
list_item = gtk_list_item_new_with_label( str );
}
else
{
}
else
{
list_item = gtk_list_item_new_with_label( choices[i] );
}
}
#ifdef __WXDEBUG__
debug_focus_in( list_item, "wxListBox::list_item", name );
#endif
#endif
gtk_container_add( GTK_CONTAINER(m_list), list_item );
gtk_signal_connect( GTK_OBJECT(list_item), "select",
@@ -257,28 +257,28 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
gtk_signal_connect( GTK_OBJECT(list_item), "deselect",
GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item),
"button_press_event",
(GtkSignalFunc)gtk_listbox_button_press_callback,
(gpointer) this );
if (m_hasCheckBoxes)
{
gtk_signal_connect( GTK_OBJECT(list_item),
"key_press_event",
(GtkSignalFunc)gtk_listbox_key_press_callback,
(gpointer)this );
}
ConnectWidget( list_item );
gtk_signal_connect( GTK_OBJECT(list_item),
"button_press_event",
(GtkSignalFunc)gtk_listbox_button_press_callback,
(gpointer) this );
if (m_hasCheckBoxes)
{
gtk_signal_connect( GTK_OBJECT(list_item),
"key_press_event",
(GtkSignalFunc)gtk_listbox_key_press_callback,
(gpointer)this );
}
ConnectWidget( list_item );
gtk_widget_show( list_item );
}
m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this );
PostCreation();
gtk_widget_realize( GTK_WIDGET(m_list) );
@@ -299,13 +299,13 @@ wxListBox::~wxListBox()
void wxListBox::AppendCommon( const wxString &item )
{
wxCHECK_RET( m_list != NULL, "invalid listbox" );
GtkWidget *list_item;
if (m_hasCheckBoxes)
{
wxString str = "[-] ";
str += item;
str += item;
list_item = gtk_list_item_new_with_label( str );
}
else
@@ -323,20 +323,20 @@ void wxListBox::AppendCommon( const wxString &item )
gtk_container_add( GTK_CONTAINER(m_list), list_item );
if (m_widgetStyle) ApplyWidgetStyle();
gtk_signal_connect( GTK_OBJECT(list_item),
"button_press_event",
(GtkSignalFunc)gtk_listbox_button_press_callback,
(gpointer) this );
gtk_signal_connect( GTK_OBJECT(list_item),
"button_press_event",
(GtkSignalFunc)gtk_listbox_button_press_callback,
(gpointer) this );
if (m_hasCheckBoxes)
{
gtk_signal_connect( GTK_OBJECT(list_item),
"key_press_event",
(GtkSignalFunc)gtk_listbox_key_press_callback,
(gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item),
"key_press_event",
(GtkSignalFunc)gtk_listbox_key_press_callback,
(gpointer)this );
}
gtk_widget_show( list_item );
ConnectWidget( list_item );
@@ -354,7 +354,7 @@ void wxListBox::Append( const wxString &item )
{
m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) NULL );
AppendCommon( item );
}
@@ -362,7 +362,7 @@ void wxListBox::Append( const wxString &item, void *clientData )
{
m_clientDataList.Append( (wxObject*) clientData );
m_clientObjectList.Append( (wxObject*) NULL );
AppendCommon( item );
}
@@ -370,50 +370,50 @@ void wxListBox::Append( const wxString &item, wxClientData *clientData )
{
m_clientObjectList.Append( (wxObject*) clientData );
m_clientDataList.Append( (wxObject*) NULL );
AppendCommon( item );
}
void wxListBox::SetClientData( int n, void* clientData )
{
wxCHECK_RET( m_widget != NULL, "invalid combobox" );
wxNode *node = m_clientDataList.Nth( n );
if (!node) return;
node->SetData( (wxObject*) clientData );
}
void* wxListBox::GetClientData( int n )
{
wxCHECK_MSG( m_widget != NULL, NULL, "invalid combobox" );
wxNode *node = m_clientDataList.Nth( n );
if (!node) return NULL;
return node->Data();
}
void wxListBox::SetClientObject( int n, wxClientData* clientData )
{
wxCHECK_RET( m_widget != NULL, "invalid combobox" );
wxNode *node = m_clientObjectList.Nth( n );
if (!node) return;
wxClientData *cd = (wxClientData*) node->Data();
if (cd) delete cd;
node->SetData( (wxObject*) clientData );
}
wxClientData* wxListBox::GetClientObject( int n )
{
wxCHECK_MSG( m_widget != NULL, (wxClientData*)NULL, "invalid combobox" );
wxNode *node = m_clientObjectList.Nth( n );
if (!node) return (wxClientData*) NULL;
return (wxClientData*) node->Data();
}
@@ -431,7 +431,7 @@ void wxListBox::Clear()
node = node->Next();
}
m_clientObjectList.Clear();
m_clientDataList.Clear();
}
@@ -454,7 +454,7 @@ void wxListBox::Delete( int n )
if (cd) delete cd;
m_clientObjectList.DeleteNode( node );
}
node = m_clientDataList.Nth( n );
if (node)
{
@@ -472,19 +472,19 @@ void wxListBox::Deselect( int n )
int wxListBox::FindString( const wxString &item ) const
{
wxCHECK_MSG( m_list != NULL, -1, "invalid listbox" );
GList *child = m_list->children;
int count = 0;
while (child)
{
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
if (str == item) return count;
count++;
child = child->next;
}
@@ -497,7 +497,7 @@ int wxListBox::FindString( const wxString &item ) const
int wxListBox::GetSelection() const
{
wxCHECK_MSG( m_list != NULL, -1, "invalid listbox" );
GList *child = m_list->children;
int count = 0;
while (child)
@@ -512,7 +512,7 @@ int wxListBox::GetSelection() const
int wxListBox::GetSelections( wxArrayInt& aSelections ) const
{
wxCHECK_MSG( m_list != NULL, -1, "invalid listbox" );
// get the number of selected items first
GList *child = m_list->children;
int count = 0;
@@ -524,7 +524,7 @@ int wxListBox::GetSelections( wxArrayInt& aSelections ) const
aSelections.Empty();
if (count > 0)
if (count > 0)
{
// now fill the list
aSelections.Alloc(count); // optimization attempt
@@ -542,16 +542,16 @@ int wxListBox::GetSelections( wxArrayInt& aSelections ) const
wxString wxListBox::GetString( int n ) const
{
wxCHECK_MSG( m_list != NULL, "", "invalid listbox" );
GList *child = g_list_nth( m_list->children, n );
if (child)
{
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
return str;
}
wxFAIL_MSG("wrong listbox index");
@@ -561,19 +561,19 @@ wxString wxListBox::GetString( int n ) const
wxString wxListBox::GetStringSelection() const
{
wxCHECK_MSG( m_list != NULL, "", "invalid listbox" );
GList *selection = m_list->selection;
if (selection)
{
GtkBin *bin = GTK_BIN( selection->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
wxString str = label->label;
if (m_hasCheckBoxes) str.Remove( 0, 4 );
return str;
}
wxFAIL_MSG("no listbox selection available");
return "";
}
@@ -581,7 +581,7 @@ wxString wxListBox::GetStringSelection() const
int wxListBox::Number()
{
wxCHECK_MSG( m_list != NULL, -1, "invalid listbox" );
GList *child = m_list->children;
int count = 0;
while (child) { count++; child = child->next; }
@@ -591,7 +591,7 @@ int wxListBox::Number()
bool wxListBox::Selected( int n )
{
wxCHECK_MSG( m_list != NULL, FALSE, "invalid listbox" );
GList *target = g_list_nth( m_list->children, n );
if (target)
{
@@ -624,7 +624,7 @@ void wxListBox::SetFirstItem( const wxString &WXUNUSED(item) )
void wxListBox::SetSelection( int n, bool select )
{
wxCHECK_RET( m_list != NULL, "invalid listbox" );
if (select)
gtk_list_select_item( m_list, n );
else
@@ -634,29 +634,29 @@ void wxListBox::SetSelection( int n, bool select )
void wxListBox::SetString( int n, const wxString &string )
{
wxCHECK_RET( m_list != NULL, "invalid listbox" );
GList *child = g_list_nth( m_list->children, n );
if (child)
{
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
wxString str;
if (m_hasCheckBoxes) str += "[-] ";
str += string;
wxString str;
if (m_hasCheckBoxes) str += "[-] ";
str += string;
gtk_label_set( label, str );
}
else
{
wxFAIL_MSG("wrong listbox index");
}
}
}
void wxListBox::SetStringSelection( const wxString &string, bool select )
{
wxCHECK_RET( m_list != NULL, "invalid listbox" );
SetSelection( FindString(string), select );
}
@@ -676,6 +676,7 @@ int wxListBox::GetIndex( GtkWidget *item ) const
return -1;
}
#if wxUSE_TOOLTIPS
void wxListBox::ApplyToolTip( GtkTooltips *tips, const char *tip )
{
GList *child = m_list->children;
@@ -685,24 +686,25 @@ void wxListBox::ApplyToolTip( GtkTooltips *tips, const char *tip )
child = child->next;
}
}
#endif // wxUSE_TOOLTIPS
#if wxUSE_DRAG_AND_DROP
void wxListBox::SetDropTarget( wxDropTarget *dropTarget )
{
wxCHECK_RET( m_list != NULL, "invalid listbox" );
#ifndef NEW_GTK_DND_CODE
if (m_dropTarget)
{
GList *child = m_list->children;
while (child)
{
m_dropTarget->UnregisterWidget( GTK_WIDGET( child->data ) );
m_dropTarget->UnregisterWidget( GTK_WIDGET( child->data ) );
child = child->next;
}
}
#endif
wxWindow::SetDropTarget( dropTarget );
#ifndef NEW_GTK_DND_CODE
@@ -711,7 +713,7 @@ void wxListBox::SetDropTarget( wxDropTarget *dropTarget )
GList *child = m_list->children;
while (child)
{
m_dropTarget->RegisterWidget( GTK_WIDGET( child->data ) );
m_dropTarget->RegisterWidget( GTK_WIDGET( child->data ) );
child = child->next;
}
}
@@ -742,7 +744,7 @@ bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
void wxListBox::ApplyWidgetStyle()
{
SetWidgetStyle();
if (m_backgroundColour.Ok())
{
GdkWindow *window = GTK_WIDGET(m_list)->window;
@@ -750,16 +752,16 @@ void wxListBox::ApplyWidgetStyle()
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
}
GList *child = m_list->children;
while (child)
{
gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
GtkBin *bin = GTK_BIN( child->data );
GtkWidget *label = GTK_WIDGET( bin->child );
gtk_widget_set_style( label, m_widgetStyle );
child = child->next;
}
}

View File

@@ -1,16 +1,17 @@
/////////////////////////////////////////////////////////////////////////////
// Name: tooltip.cpp
// Purpose:
// Purpose: wxToolTip implementation
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "tooltip.h"
#pragma implementation "tooltip.h"
#endif
#include "wx/window.h"
#include "wx/tooltip.h"
#include "gtk/gtk.h"
@@ -23,7 +24,7 @@
static GtkTooltips *ss_tooltips = (GtkTooltips*) NULL;
static GdkColor ss_bg;
static GdkColor ss_fg;
//-----------------------------------------------------------------------------
// wxToolTip
//-----------------------------------------------------------------------------
@@ -34,16 +35,6 @@ wxToolTip::wxToolTip( const wxString &tip )
m_window = (wxWindow*) NULL;
}
bool wxToolTip::Ok() const
{
return (m_window);
}
wxString wxToolTip::GetTip() const
{
return m_text;
}
void wxToolTip::SetTip( const wxString &tip )
{
m_text = tip;
@@ -57,22 +48,22 @@ void wxToolTip::Apply( wxWindow *win )
if (!ss_tooltips)
{
ss_tooltips = gtk_tooltips_new();
ss_fg.red = 0;
ss_fg.red = 0;
ss_fg.green = 0;
ss_fg.blue = 0;
gdk_color_alloc( gtk_widget_get_default_colormap(), &ss_fg );
ss_bg.red = 65535;
ss_bg.green = 65535;
ss_bg.blue = 50000;
gdk_color_alloc( gtk_widget_get_default_colormap(), &ss_bg );
gtk_tooltips_set_colors( ss_tooltips, &ss_bg, &ss_fg );
gtk_tooltips_set_colors( ss_tooltips, &ss_bg, &ss_fg );
}
m_window = win;
if (m_text.IsEmpty())
m_window->ApplyToolTip( ss_tooltips, (char*) NULL );
else
@@ -82,7 +73,7 @@ void wxToolTip::Apply( wxWindow *win )
void wxToolTip::Enable( bool flag )
{
if (!ss_tooltips) return;
if (flag)
gtk_tooltips_enable( ss_tooltips );
else
@@ -92,7 +83,7 @@ void wxToolTip::Enable( bool flag )
void wxToolTip::SetDelay( long msecs )
{
if (!ss_tooltips) return;
gtk_tooltips_set_delay( ss_tooltips, msecs );
}

View File

@@ -132,14 +132,14 @@
#ifdef __WXDEBUG__
static gint gtk_debug_focus_in_callback( GtkWidget *WXUNUSED(widget),
GdkEvent *WXUNUSED(event),
const char *name )
static gint gtk_debug_focus_in_callback( GtkWidget *WXUNUSED(widget),
GdkEvent *WXUNUSED(event),
const char *name )
{
printf( "FOCUS NOW AT: " );
printf( name );
printf( "\n" );
return FALSE;
}
@@ -150,9 +150,9 @@ void debug_focus_in( GtkWidget* widget, const char* name, const char *window )
wxString tmp = name;
tmp += " FROM ";
tmp += window;
char *s = new char[tmp.Length()+1];
strcpy( s, WXSTRINGCAST tmp );
gtk_signal_connect( GTK_OBJECT(widget), "focus_in_event",
@@ -345,38 +345,38 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e
ancestor = ancestor->GetParent();
}
}
// win is a control: tab can be propagated up
if ((!ret) && (gdk_event->keyval == GDK_Tab))
{
wxNavigationKeyEvent new_event;
new_event.SetDirection( !(gdk_event->state & GDK_SHIFT_MASK) );
new_event.SetWindowChange( FALSE );
new_event.SetWindowChange( FALSE );
new_event.SetCurrentFocus( win );
ret = win->GetEventHandler()->ProcessEvent( new_event );
ret = win->GetEventHandler()->ProcessEvent( new_event );
}
/*
// win is a panel: up can be propagated to the panel
if ((!ret) && (win->m_wxwindow) && (win->m_parent) && (win->m_parent->AcceptsFocus()) &&
(gdk_event->keyval == GDK_Up))
{
win->m_parent->SetFocus();
ret = TRUE;
ret = TRUE;
}
// win is a panel: left/right can be propagated to the panel
if ((!ret) && (win->m_wxwindow) &&
((gdk_event->keyval == GDK_Right) || (gdk_event->keyval == GDK_Left) ||
if ((!ret) && (win->m_wxwindow) &&
((gdk_event->keyval == GDK_Right) || (gdk_event->keyval == GDK_Left) ||
(gdk_event->keyval == GDK_Up) || (gdk_event->keyval == GDK_Down)))
{
wxNavigationKeyEvent new_event;
new_event.SetDirection( (gdk_event->keyval == GDK_Right) || (gdk_event->keyval == GDK_Down) );
new_event.SetCurrentFocus( win );
ret = win->GetEventHandler()->ProcessEvent( new_event );
ret = win->GetEventHandler()->ProcessEvent( new_event );
}
*/
if (ret)
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "key_press_event" );
@@ -588,37 +588,37 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
while (node)
{
wxWindow *child = (wxWindow*)node->Data();
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
win = child;
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
else
{
}
}
else
{
if ((child->m_wxwindow == (GtkWidget*) NULL) &&
(child->m_x <= event.m_x) &&
(child->m_x <= event.m_x) &&
(child->m_y <= event.m_y) &&
(child->m_x+child->m_width >= event.m_x) &&
(child->m_y+child->m_height >= event.m_y))
@@ -627,12 +627,12 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
}
node = node->Next();
}
}
wxPoint pt(win->GetClientAreaOrigin());
event.m_x -= pt.x;
event.m_y -= pt.y;
@@ -696,37 +696,37 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
while (node)
{
wxWindow *child = (wxWindow*)node->Data();
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
win = child;
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
else
{
}
}
else
{
if ((child->m_wxwindow == (GtkWidget*) NULL) &&
(child->m_x <= event.m_x) &&
(child->m_x <= event.m_x) &&
(child->m_y <= event.m_y) &&
(child->m_x+child->m_width >= event.m_x) &&
(child->m_y+child->m_height >= event.m_y))
@@ -735,7 +735,7 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
}
node = node->Next();
}
@@ -759,7 +759,7 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion *gdk_event, wxWindow *win )
{
if (gdk_event->is_hint)
if (gdk_event->is_hint)
{
int x = 0;
int y = 0;
@@ -769,7 +769,7 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
gdk_event->y = y;
gdk_event->state = state;
}
if (!win->IsOwnGtkWindow( gdk_event->window )) return TRUE;
if (g_blockEventsOnDrag) return TRUE;
@@ -805,37 +805,37 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
while (node)
{
wxWindow *child = (wxWindow*)node->Data();
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
if (child->m_isStaticBox)
{
// wxStaticBox is transparent in the box itself
int x = event.m_x;
int y = event.m_y;
int xx1 = child->m_x;
int yy1 = child->m_y;
int xx2 = child->m_x + child->m_width;
int yy2 = child->m_x + child->m_height;
// left
if (((x >= xx1) && (x <= xx1+10) && (y >= yy1) && (y <= yy2)) ||
// right
((x >= xx2-10) && (x <= xx2) && (y >= yy1) && (y <= yy2)) ||
// top
((x >= xx1) && (x <= xx2) && (y >= yy1) && (y <= yy1+10)) ||
// bottom
((x >= xx1) && (x <= xx2) && (y >= yy2-1) && (y <= yy2)))
{
win = child;
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
else
{
}
}
else
{
if ((child->m_wxwindow == (GtkWidget*) NULL) &&
(child->m_x <= event.m_x) &&
(child->m_x <= event.m_x) &&
(child->m_y <= event.m_y) &&
(child->m_x+child->m_width >= event.m_x) &&
(child->m_y+child->m_height >= event.m_y))
@@ -844,7 +844,7 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
event.m_x -= child->m_x;
event.m_y -= child->m_y;
break;
}
}
}
node = node->Next();
}
@@ -869,9 +869,9 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
static gint gtk_window_focus_in_callback( GtkWidget *widget, GdkEvent *WXUNUSED(event), wxWindow *win )
{
if (g_blockEventsOnDrag) return TRUE;
g_focusWindow = win;
if (win->m_wxwindow)
{
if (GTK_WIDGET_CAN_FOCUS(win->m_wxwindow))
@@ -961,13 +961,13 @@ static gint gtk_window_enter_callback( GtkWidget *widget, GdkEventCrossing *gdk_
wxMouseEvent event( wxEVT_ENTER_WINDOW );
event.SetEventObject( win );
int x = 0;
int y = 0;
GdkModifierType state = (GdkModifierType)0;
gdk_window_get_pointer( widget->window, &x, &y, &state );
event.m_shiftDown = (state & GDK_SHIFT_MASK);
event.m_controlDown = (state & GDK_CONTROL_MASK);
event.m_altDown = (state & GDK_MOD1_MASK);
@@ -978,7 +978,7 @@ static gint gtk_window_enter_callback( GtkWidget *widget, GdkEventCrossing *gdk_
event.m_x = (long)x;
event.m_y = (long)y;
wxPoint pt(win->GetClientAreaOrigin());
event.m_x -= pt.x;
event.m_y -= pt.y;
@@ -1017,9 +1017,9 @@ static gint gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_
int x = 0;
int y = 0;
GdkModifierType state = (GdkModifierType)0;
gdk_window_get_pointer( widget->window, &x, &y, &state );
event.m_shiftDown = (state & GDK_SHIFT_MASK);
event.m_controlDown = (state & GDK_CONTROL_MASK);
event.m_altDown = (state & GDK_MOD1_MASK);
@@ -1030,7 +1030,7 @@ static gint gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_
event.m_x = (long)x;
event.m_y = (long)y;
wxPoint pt(win->GetClientAreaOrigin());
event.m_x -= pt.x;
event.m_y -= pt.y;
@@ -1191,7 +1191,7 @@ static void gtk_window_hscroll_change_callback( GtkWidget *WXUNUSED(widget), wxW
static gint gtk_scrollbar_button_press_callback( GtkRange *WXUNUSED(widget),
GdkEventButton *WXUNUSED(gdk_event),
wxWindow *win )
wxWindow *win )
{
// don't test here as we can release the mouse while being over
// a different window then the slider
@@ -1210,7 +1210,7 @@ static gint gtk_scrollbar_button_press_callback( GtkRange *WXUNUSED(widget),
static gint gtk_scrollbar_button_release_callback( GtkRange *widget,
GdkEventButton *WXUNUSED(gdk_event),
wxWindow *win )
wxWindow *win )
{
// don't test here as we can release the mouse while being over
@@ -1246,23 +1246,23 @@ static void wxInsertChildInWindow( wxWindow* parent, wxWindow* child )
{
gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow),
GTK_WIDGET(child->m_widget),
child->m_x,
child->m_y );
child->m_x,
child->m_y );
gtk_widget_set_usize( GTK_WIDGET(child->m_widget),
child->m_width,
child->m_height );
child->m_height );
if (wxIS_KIND_OF(parent,wxFrame))
{
parent->m_sizeSet = FALSE;
}
if (parent->m_windowStyle & wxTAB_TRAVERSAL)
{
/* we now allow a window to get the focus as long as it
doesn't have any children. */
GTK_WIDGET_UNSET_FLAGS( parent->m_wxwindow, GTK_CAN_FOCUS );
doesn't have any children. */
GTK_WIDGET_UNSET_FLAGS( parent->m_wxwindow, GTK_CAN_FOCUS );
}
}
@@ -1347,11 +1347,13 @@ wxWindow::wxWindow()
m_clientObject = (wxClientData*) NULL;
m_clientData = NULL;
m_isStaticBox = FALSE;
m_acceptsFocus = FALSE;
#if wxUSE_TOOLTIPS
m_toolTip = (wxToolTip*) NULL;
#endif // wxUSE_TOOLTIPS
}
wxWindow::wxWindow( wxWindow *parent, wxWindowID id,
@@ -1374,7 +1376,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_scrolled_window_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
#ifdef __WXDEBUG__
debug_focus_in( m_widget, "wxWindow::m_widget", name );
#endif
@@ -1431,8 +1433,8 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
if (m_windowStyle & wxTAB_TRAVERSAL)
{
/* we now allow a window to get the focus as long as it
doesn't have any children. */
GTK_WIDGET_SET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
doesn't have any children. */
GTK_WIDGET_SET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
m_acceptsFocus = FALSE;
}
else
@@ -1509,10 +1511,12 @@ wxWindow::~wxWindow()
m_hasVMT = FALSE;
#if wxUSE_DRAG_AND_DROP
if (m_dropTarget) delete m_dropTarget;
wxDELETE(m_dropTarget);
#endif
if (m_toolTip) delete m_toolTip;
#if wxUSE_TOOLTIPS
wxDELETE(m_toolTip);
#endif // wxUSE_TOOLTIPS
if (m_parent) m_parent->RemoveChild( this );
if (m_widget) Show( FALSE );
@@ -1641,9 +1645,12 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_clientObject = (wxClientData*)NULL;
m_clientData = NULL;
m_isStaticBox = FALSE;
#if wxUSE_TOOLTIPS
m_toolTip = (wxToolTip*) NULL;
#endif // wxUSE_TOOLTIPS
}
void wxWindow::PostCreation()
@@ -2089,7 +2096,7 @@ void wxWindow::Fit()
node = node->Next();
}
SetClientSize(maxX + 7, maxY + 14);
}
@@ -2116,9 +2123,9 @@ bool wxWindow::Show( bool show )
gtk_widget_show( m_widget );
else
gtk_widget_hide( m_widget );
m_isShown = show;
return TRUE;
}
@@ -2127,7 +2134,7 @@ void wxWindow::Enable( bool enable )
wxCHECK_RET( (m_widget != NULL), "invalid window" );
m_isEnabled = enable;
gtk_widget_set_sensitive( m_widget, enable );
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
}
@@ -2139,7 +2146,7 @@ int wxWindow::GetCharHeight() const
wxCHECK_MSG( m_font.Ok(), 12, "invalid font" );
GdkFont *font = m_font.GetInternalFont( 1.0 );
return font->ascent + font->descent;
}
@@ -2150,7 +2157,7 @@ int wxWindow::GetCharWidth() const
wxCHECK_MSG( m_font.Ok(), 8, "invalid font" );
GdkFont *font = m_font.GetInternalFont( 1.0 );
return gdk_string_width( font, "H" );
}
@@ -2172,7 +2179,7 @@ void wxWindow::GetTextExtent( const wxString& string, int *x, int *y,
void wxWindow::MakeModal( bool modal )
{
return;
// Disable all other windows
if (this->IsKindOf(CLASSINFO(wxDialog)) || this->IsKindOf(CLASSINFO(wxFrame)))
{
@@ -2190,7 +2197,7 @@ void wxWindow::MakeModal( bool modal )
void wxWindow::OnKeyDown( wxKeyEvent &event )
{
event.SetEventType( wxEVT_CHAR );
if (!GetEventHandler()->ProcessEvent( event ))
{
event.Skip();
@@ -2200,7 +2207,7 @@ void wxWindow::OnKeyDown( wxKeyEvent &event )
void wxWindow::SetFocus()
{
wxCHECK_RET( (m_widget != NULL), "invalid window" );
GtkWidget *connect_widget = GetConnectWidget();
if (connect_widget)
{
@@ -2208,13 +2215,13 @@ void wxWindow::SetFocus()
{
gtk_widget_grab_focus (connect_widget);
}
else if (GTK_IS_CONTAINER(connect_widget))
{
gtk_container_focus( GTK_CONTAINER(connect_widget), GTK_DIR_TAB_FORWARD );
}
else
{
}
else if (GTK_IS_CONTAINER(connect_widget))
{
gtk_container_focus( GTK_CONTAINER(connect_widget), GTK_DIR_TAB_FORWARD );
}
else
{
}
}
}
@@ -2244,7 +2251,7 @@ void wxWindow::AddChild( wxWindow *child )
wxWindow *wxWindow::ReParent( wxWindow *newParent )
{
wxCHECK_MSG( (m_widget != NULL), (wxWindow*) NULL, "invalid window" );
wxWindow *oldParent = GetParent();
if (oldParent) oldParent->RemoveChild( this );
@@ -2418,12 +2425,12 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
Clear();
}
}
if (!rect)
{
if (m_wxwindow)
gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
else
else
gtk_widget_draw( m_widget, (GdkRectangle*) NULL );
}
else
@@ -2473,6 +2480,7 @@ void wxWindow::Clear()
if (m_wxwindow && m_wxwindow->window) gdk_window_clear( m_wxwindow->window );
}
#if wxUSE_TOOLTIPS
void wxWindow::SetToolTip( const wxString &tip )
{
if (m_toolTip)
@@ -2481,15 +2489,11 @@ void wxWindow::SetToolTip( const wxString &tip )
}
else
{
m_toolTip = new wxToolTip( tip );
m_toolTip->Apply( this );
}
if (tip.IsEmpty())
{
delete m_toolTip;
m_toolTip = (wxToolTip*) NULL;
SetToolTip( new wxToolTip( tip ) );
}
// setting empty tooltip text does not remove the tooltip any more for
// wxMSW compatibility - use SetToolTip((wxToolTip *)NULL) for this
}
void wxWindow::SetToolTip( wxToolTip *tip )
@@ -2499,21 +2503,18 @@ void wxWindow::SetToolTip( wxToolTip *tip )
m_toolTip->SetTip( (char*) NULL );
delete m_toolTip;
}
m_toolTip = tip;
if (m_toolTip) m_toolTip->Apply( this );
if (m_toolTip)
m_toolTip->Apply( this );
}
void wxWindow::ApplyToolTip( GtkTooltips *tips, const char *tip )
{
gtk_tooltips_set_tip( tips, GetConnectWidget(), tip, (gchar*) NULL );
}
wxToolTip* wxWindow::GetToolTip()
{
return m_toolTip;
}
#endif // wxUSE_TOOLTIPS
wxColour wxWindow::GetBackgroundColour() const
{
@@ -2538,14 +2539,14 @@ void wxWindow::SetBackgroundColour( const wxColour &colour )
}
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg.Red() == colour.Red() &&
sysbg.Green() == colour.Green() &&
if (sysbg.Red() == colour.Red() &&
sysbg.Green() == colour.Green() &&
sysbg.Blue() == colour.Blue())
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
@@ -2567,14 +2568,14 @@ void wxWindow::SetForegroundColour( const wxColour &colour )
if (!m_foregroundColour.Ok()) return;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg.Red() == colour.Red() &&
sysbg.Green() == colour.Green() &&
if (sysbg.Red() == colour.Red() &&
sysbg.Green() == colour.Green() &&
sysbg.Blue() == colour.Blue())
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
@@ -2634,9 +2635,9 @@ bool wxWindow::Validate()
{
wxWindow *child = (wxWindow *)node->Data();
if (child->GetValidator() && /* child->GetValidator()->Ok() && */ !child->GetValidator()->Validate(this))
{
return FALSE;
}
{
return FALSE;
}
node = node->Next();
}
return TRUE;
@@ -2670,9 +2671,9 @@ bool wxWindow::TransferDataFromWindow()
{
wxWindow *child = (wxWindow *)node->Data();
if ( child->GetValidator() && /* child->GetValidator()->Ok() && */ !child->GetValidator()->TransferFromWindow() )
{
return FALSE;
}
{
return FALSE;
}
node = node->Next();
}
return TRUE;
@@ -2706,8 +2707,8 @@ static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu())
{
SetInvokingWindow( menuitem->GetSubMenu(), win );
}
SetInvokingWindow( menuitem->GetSubMenu(), win );
}
node = node->Next();
}
}
@@ -2729,10 +2730,10 @@ bool wxWindow::PopupMenu( wxMenu *menu, int x, int y )
wxCHECK_MSG( menu != NULL, FALSE, "invalid popup-menu" );
SetInvokingWindow( menu, this );
gs_pop_x = x;
gs_pop_y = y;
gtk_menu_popup(
GTK_MENU(menu->m_menu),
(GtkWidget *) NULL, // parent menu shell
@@ -2792,14 +2793,14 @@ void wxWindow::SetFont( const wxFont &font )
m_font = *wxSWISS_FONT;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg.Red() == m_backgroundColour.Red() &&
sysbg.Green() == m_backgroundColour.Green() &&
if (sysbg.Red() == m_backgroundColour.Red() &&
sysbg.Green() == m_backgroundColour.Green() &&
sysbg.Blue() == m_backgroundColour.Blue())
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
@@ -2829,9 +2830,9 @@ void wxWindow::CaptureMouse()
(GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK),
(GdkWindow *) NULL,
(GdkCursor *) NULL,
GDK_CURRENT_TIME );
(GdkWindow *) NULL,
(GdkCursor *) NULL,
GDK_CURRENT_TIME );
g_capturing = TRUE;
}
@@ -3000,7 +3001,7 @@ void wxWindow::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
if (fpos > m_vAdjust->upper - m_vAdjust->page_size) fpos = m_vAdjust->upper - m_vAdjust->page_size;
if (fpos < 0.0) fpos = 0.0;
m_oldVerticalPos = fpos;
if (fabs(fpos-m_vAdjust->value) < 0.2) return;
m_vAdjust->value = fpos;
}
@@ -3407,9 +3408,9 @@ void wxWindow::SetConstraintSizes(bool recurse)
winName = "unnamed";
else
winName = GetName();
wxLogDebug( "Constraint(s) not satisfied for window of type %s, name %s:\n",
(const char *)windowClass,
(const char *)winName);
wxLogDebug( "Constraint(s) not satisfied for window of type %s, name %s:\n",
(const char *)windowClass,
(const char *)winName);
if (!constr->left.GetDone()) wxLogDebug( " unsatisfied 'left' constraint.\n" );
if (!constr->right.GetDone()) wxLogDebug( " unsatisfied 'right' constraint.\n" );
if (!constr->width.GetDone()) wxLogDebug( " unsatisfied 'width' constraint.\n" );