TRUE/FALSE source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -32,7 +32,7 @@ public:
|
|||||||
const wxString& name = wxListBoxNameStr )
|
const wxString& name = wxListBoxNameStr )
|
||||||
{
|
{
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
m_hasCheckBoxes = FALSE;
|
m_hasCheckBoxes = false;
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
Create(parent, id, pos, size, n, choices, style, validator, name);
|
Create(parent, id, pos, size, n, choices, style, validator, name);
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ public:
|
|||||||
const wxString& name = wxListBoxNameStr )
|
const wxString& name = wxListBoxNameStr )
|
||||||
{
|
{
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
m_hasCheckBoxes = FALSE;
|
m_hasCheckBoxes = false;
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
Create(parent, id, pos, size, choices, style, validator, name);
|
Create(parent, id, pos, size, choices, style, validator, name);
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: checklst.cpp
|
// Name: src/gtk/checklst.cpp
|
||||||
// Purpose:
|
// Purpose:
|
||||||
// Author: Robert Roebling
|
// Author: Robert Roebling
|
||||||
// Modified by: Ryan Norton (Native GTK2.0+ checklist)
|
// Modified by: Ryan Norton (Native GTK2.0+ checklist)
|
||||||
// Id: $Id$
|
// Id: $Id$
|
||||||
// Copyright: (c) 1998 Robert Roebling
|
// Copyright: (c) 1998 Robert Roebling
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
@@ -11,8 +11,6 @@
|
|||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
|
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
|
|
||||||
#include "wx/checklst.h"
|
#include "wx/checklst.h"
|
||||||
@@ -34,13 +32,13 @@ static void gtk_checklist_toggled(GtkCellRendererToggle *renderer,
|
|||||||
wxCHECK_RET( listbox->m_treeview != NULL, wxT("invalid listbox") );
|
wxCHECK_RET( listbox->m_treeview != NULL, wxT("invalid listbox") );
|
||||||
|
|
||||||
GtkTreePath* path = gtk_tree_path_new_from_string(stringpath);
|
GtkTreePath* path = gtk_tree_path_new_from_string(stringpath);
|
||||||
wxCommandEvent new_event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,
|
wxCommandEvent new_event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,
|
||||||
listbox->GetId() );
|
listbox->GetId() );
|
||||||
new_event.SetEventObject( listbox );
|
new_event.SetEventObject( listbox );
|
||||||
new_event.SetInt( gtk_tree_path_get_indices(path)[0] );
|
new_event.SetInt( gtk_tree_path_get_indices(path)[0] );
|
||||||
gtk_tree_path_free(path);
|
gtk_tree_path_free(path);
|
||||||
listbox->Check( new_event.GetInt(), !listbox->IsChecked(new_event.GetInt()));
|
listbox->Check( new_event.GetInt(), !listbox->IsChecked(new_event.GetInt()));
|
||||||
listbox->GetEventHandler()->ProcessEvent( new_event );
|
listbox->GetEventHandler()->ProcessEvent( new_event );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -53,7 +51,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox,wxListBox)
|
|||||||
|
|
||||||
wxCheckListBox::wxCheckListBox() : wxListBox()
|
wxCheckListBox::wxCheckListBox() : wxListBox()
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
||||||
@@ -65,7 +63,7 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
|||||||
const wxValidator& validator,
|
const wxValidator& validator,
|
||||||
const wxString& name )
|
const wxString& name )
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
wxListBox::Create( parent, id, pos, size, nStrings, choices, style, validator, name );
|
wxListBox::Create( parent, id, pos, size, nStrings, choices, style, validator, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +75,7 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
|||||||
const wxValidator& validator,
|
const wxValidator& validator,
|
||||||
const wxString& name )
|
const wxString& name )
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
wxListBox::Create( parent, id, pos, size, choices,
|
wxListBox::Create( parent, id, pos, size, choices,
|
||||||
style, validator, name );
|
style, validator, name );
|
||||||
}
|
}
|
||||||
@@ -86,9 +84,9 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
|||||||
void wxCheckListBox::DoCreateCheckList()
|
void wxCheckListBox::DoCreateCheckList()
|
||||||
{
|
{
|
||||||
//Create the checklist in our treeview and set up events for it
|
//Create the checklist in our treeview and set up events for it
|
||||||
GtkCellRenderer* renderer =
|
GtkCellRenderer* renderer =
|
||||||
gtk_cell_renderer_toggle_new();
|
gtk_cell_renderer_toggle_new();
|
||||||
GtkTreeViewColumn* column =
|
GtkTreeViewColumn* column =
|
||||||
gtk_tree_view_column_new_with_attributes( "", renderer,
|
gtk_tree_view_column_new_with_attributes( "", renderer,
|
||||||
"active", 0,
|
"active", 0,
|
||||||
NULL );
|
NULL );
|
||||||
@@ -120,7 +118,7 @@ bool wxCheckListBox::IsChecked( int index ) const
|
|||||||
gtk_tree_model_get_value(GTK_TREE_MODEL(m_liststore),
|
gtk_tree_model_get_value(GTK_TREE_MODEL(m_liststore),
|
||||||
&iter,
|
&iter,
|
||||||
0, //column
|
0, //column
|
||||||
&value);
|
&value);
|
||||||
|
|
||||||
return g_value_get_boolean(&value) == TRUE ? true : false;
|
return g_value_get_boolean(&value) == TRUE ? true : false;
|
||||||
}
|
}
|
||||||
@@ -141,7 +139,7 @@ void wxCheckListBox::Check( int index, bool check )
|
|||||||
gtk_list_store_set(m_liststore,
|
gtk_list_store_set(m_liststore,
|
||||||
&iter,
|
&iter,
|
||||||
0, //column
|
0, //column
|
||||||
check ? TRUE : FALSE, -1);
|
check ? TRUE : FALSE, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxCheckListBox::GetItemHeight() const
|
int wxCheckListBox::GetItemHeight() const
|
||||||
@@ -160,7 +158,7 @@ int wxCheckListBox::GetItemHeight() const
|
|||||||
|
|
||||||
bool wxCheckListBox::IsChecked( int index ) const
|
bool wxCheckListBox::IsChecked( int index ) const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( m_treeview != NULL, FALSE, wxT("invalid checklistbox") );
|
wxCHECK_MSG( m_treeview != NULL, false, wxT("invalid checklistbox") );
|
||||||
|
|
||||||
GtkTreeEntry* entry = GtkGetEntry(index);
|
GtkTreeEntry* entry = GtkGetEntry(index);
|
||||||
if (entry)
|
if (entry)
|
||||||
@@ -171,7 +169,7 @@ bool wxCheckListBox::IsChecked( int index ) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxFAIL_MSG(wxT("wrong checklistbox index"));
|
wxFAIL_MSG(wxT("wrong checklistbox index"));
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxCheckListBox::Check( int index, bool check )
|
void wxCheckListBox::Check( int index, bool check )
|
||||||
|
@@ -11,8 +11,6 @@
|
|||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
|
|
||||||
#if wxUSE_LISTBOX
|
#if wxUSE_LISTBOX
|
||||||
|
|
||||||
#include "wx/listbox.h"
|
#include "wx/listbox.h"
|
||||||
@@ -100,7 +98,7 @@ gtk_listbox_row_activated_callback(GtkTreeView *treeview,
|
|||||||
event.SetString(wxConvUTF8.cMB2WX(gtk_tree_entry_get_label(entry)));
|
event.SetString(wxConvUTF8.cMB2WX(gtk_tree_entry_get_label(entry)));
|
||||||
|
|
||||||
if ( listbox->HasClientObjectData() )
|
if ( listbox->HasClientObjectData() )
|
||||||
event.SetClientObject(
|
event.SetClientObject(
|
||||||
(wxClientData*) gtk_tree_entry_get_userdata(entry) );
|
(wxClientData*) gtk_tree_entry_get_userdata(entry) );
|
||||||
else if ( listbox->HasClientUntypedData() )
|
else if ( listbox->HasClientUntypedData() )
|
||||||
event.SetClientData( gtk_tree_entry_get_userdata(entry) );
|
event.SetClientData( gtk_tree_entry_get_userdata(entry) );
|
||||||
@@ -140,7 +138,7 @@ gtk_listbox_row_activated_callback(GtkTreeView *treeview,
|
|||||||
((listbox->GetWindowStyleFlag() & wxLB_EXTENDED) != 0)) )
|
((listbox->GetWindowStyleFlag() & wxLB_EXTENDED) != 0)) )
|
||||||
{
|
{
|
||||||
//toggle the selection + send event
|
//toggle the selection + send event
|
||||||
listbox->GtkSetSelection(sel, !listbox->IsSelected( sel ), FALSE);
|
listbox->GtkSetSelection(sel, !listbox->IsSelected( sel ), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,7 +169,7 @@ gtk_listbox_button_press_callback( GtkWidget *widget,
|
|||||||
if ((listbox->m_hasCheckBoxes) && (gdk_event->x < 15) && (gdk_event->type != GDK_2BUTTON_PRESS))
|
if ((listbox->m_hasCheckBoxes) && (gdk_event->x < 15) && (gdk_event->type != GDK_2BUTTON_PRESS))
|
||||||
{
|
{
|
||||||
GtkTreePath* path;
|
GtkTreePath* path;
|
||||||
gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget),
|
gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget),
|
||||||
(gint)gdk_event->x, (gint)gdk_event->y,
|
(gint)gdk_event->x, (gint)gdk_event->y,
|
||||||
&path, NULL, NULL, NULL);
|
&path, NULL, NULL, NULL);
|
||||||
int sel = gtk_tree_path_get_indices(path)[0];
|
int sel = gtk_tree_path_get_indices(path)[0];
|
||||||
@@ -198,8 +196,8 @@ gtk_listbox_button_press_callback( GtkWidget *widget,
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
static gint
|
static gint
|
||||||
gtk_listbox_key_press_callback( GtkWidget *widget,
|
gtk_listbox_key_press_callback( GtkWidget *widget,
|
||||||
GdkEventKey *gdk_event,
|
GdkEventKey *gdk_event,
|
||||||
wxListBox *listbox )
|
wxListBox *listbox )
|
||||||
{
|
{
|
||||||
if (g_isIdle) wxapp_install_idle_handler();
|
if (g_isIdle) wxapp_install_idle_handler();
|
||||||
@@ -207,7 +205,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget,
|
|||||||
if (g_blockEventsOnDrag) return FALSE;
|
if (g_blockEventsOnDrag) return FALSE;
|
||||||
|
|
||||||
|
|
||||||
bool ret = FALSE;
|
bool ret = false;
|
||||||
|
|
||||||
if ((gdk_event->keyval == GDK_Tab) || (gdk_event->keyval == GDK_ISO_Left_Tab))
|
if ((gdk_event->keyval == GDK_Tab) || (gdk_event->keyval == GDK_ISO_Left_Tab))
|
||||||
{
|
{
|
||||||
@@ -223,7 +221,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget,
|
|||||||
if ((gdk_event->keyval == GDK_Return) && (!ret))
|
if ((gdk_event->keyval == GDK_Return) && (!ret))
|
||||||
{
|
{
|
||||||
// eat return in all modes (RN:WHY?)
|
// eat return in all modes (RN:WHY?)
|
||||||
ret = TRUE;
|
ret = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check or uncheck item with SPACE
|
// Check or uncheck item with SPACE
|
||||||
@@ -232,7 +230,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget,
|
|||||||
//In the keyevent we don't know the index of the item
|
//In the keyevent we don't know the index of the item
|
||||||
//and the activated event gets called anyway...
|
//and the activated event gets called anyway...
|
||||||
//
|
//
|
||||||
//Also, activating with the space causes the treeview to
|
//Also, activating with the space causes the treeview to
|
||||||
//unselect all the items and then select the item in question
|
//unselect all the items and then select the item in question
|
||||||
//wx's behaviour is to just toggle the item's selection state
|
//wx's behaviour is to just toggle the item's selection state
|
||||||
//and leave the others alone
|
//and leave the others alone
|
||||||
@@ -273,10 +271,10 @@ static gboolean gtk_listitem_select_cb( GtkTreeSelection* selection,
|
|||||||
// assumes so and passes -1 to the dogetclientdata funcs if not
|
// assumes so and passes -1 to the dogetclientdata funcs if not
|
||||||
|
|
||||||
// OK, so basically we need to do a bit of a run-around here as
|
// OK, so basically we need to do a bit of a run-around here as
|
||||||
// 1) is_selected says whether the item(s?) are CURRENTLY selected -
|
// 1) is_selected says whether the item(s?) are CURRENTLY selected -
|
||||||
// i.e. if is_selected is FALSE then the item is going to be
|
// i.e. if is_selected is FALSE then the item is going to be
|
||||||
// selected right now!
|
// selected right now!
|
||||||
// 2) However, since it is not already selected and the user
|
// 2) However, since it is not already selected and the user
|
||||||
// will expect it to be we need to manually select it and
|
// will expect it to be we need to manually select it and
|
||||||
// return FALSE telling GTK we handled the selection
|
// return FALSE telling GTK we handled the selection
|
||||||
if (is_selected) return TRUE;
|
if (is_selected) return TRUE;
|
||||||
@@ -288,16 +286,16 @@ static gboolean gtk_listitem_select_cb( GtkTreeSelection* selection,
|
|||||||
{
|
{
|
||||||
//Now, as mentioned above, we manually select the row that is/was going
|
//Now, as mentioned above, we manually select the row that is/was going
|
||||||
//to be selected anyway by GTK
|
//to be selected anyway by GTK
|
||||||
listbox->m_blockEvent = TRUE; //if we don't block events we will lock the
|
listbox->m_blockEvent = true; //if we don't block events we will lock the
|
||||||
//app due to recursion!!
|
//app due to recursion!!
|
||||||
|
|
||||||
GtkTreeSelection* selection =
|
GtkTreeSelection* selection =
|
||||||
gtk_tree_view_get_selection(listbox->m_treeview);
|
gtk_tree_view_get_selection(listbox->m_treeview);
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
gtk_tree_model_get_iter(GTK_TREE_MODEL(listbox->m_liststore), &iter, path);
|
gtk_tree_model_get_iter(GTK_TREE_MODEL(listbox->m_liststore), &iter, path);
|
||||||
gtk_tree_selection_select_iter(selection, &iter);
|
gtk_tree_selection_select_iter(selection, &iter);
|
||||||
|
|
||||||
listbox->m_blockEvent = FALSE;
|
listbox->m_blockEvent = false;
|
||||||
|
|
||||||
//Finally, send the wx event
|
//Finally, send the wx event
|
||||||
wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, listbox->GetId() );
|
wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, listbox->GetId() );
|
||||||
@@ -310,8 +308,8 @@ static gboolean gtk_listitem_select_cb( GtkTreeSelection* selection,
|
|||||||
event.SetString(wxConvUTF8.cMB2WX(gtk_tree_entry_get_label(entry)));
|
event.SetString(wxConvUTF8.cMB2WX(gtk_tree_entry_get_label(entry)));
|
||||||
|
|
||||||
if ( listbox->HasClientObjectData() )
|
if ( listbox->HasClientObjectData() )
|
||||||
event.SetClientObject(
|
event.SetClientObject(
|
||||||
(wxClientData*) gtk_tree_entry_get_userdata(entry)
|
(wxClientData*) gtk_tree_entry_get_userdata(entry)
|
||||||
);
|
);
|
||||||
else if ( listbox->HasClientUntypedData() )
|
else if ( listbox->HasClientUntypedData() )
|
||||||
event.SetClientData( gtk_tree_entry_get_userdata(entry) );
|
event.SetClientData( gtk_tree_entry_get_userdata(entry) );
|
||||||
@@ -331,7 +329,7 @@ static gboolean gtk_listitem_select_cb( GtkTreeSelection* selection,
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
static void gtk_tree_entry_destroy_cb(GtkTreeEntry* entry,
|
static void gtk_tree_entry_destroy_cb(GtkTreeEntry* entry,
|
||||||
wxListBox* listbox)
|
wxListBox* listbox)
|
||||||
{
|
{
|
||||||
if(listbox->HasClientObjectData())
|
if(listbox->HasClientObjectData())
|
||||||
@@ -358,11 +356,11 @@ static gint gtk_listbox_sort_callback(GtkTreeModel *model,
|
|||||||
|
|
||||||
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
||||||
a,
|
a,
|
||||||
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
||||||
&entry, -1);
|
&entry, -1);
|
||||||
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
||||||
b,
|
b,
|
||||||
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
||||||
&entry2, -1);
|
&entry2, -1);
|
||||||
wxCHECK_MSG(entry, 0, wxT("Could not get entry"));
|
wxCHECK_MSG(entry, 0, wxT("Could not get entry"));
|
||||||
wxCHECK_MSG(entry2, 0, wxT("Could not get entry2"));
|
wxCHECK_MSG(entry2, 0, wxT("Could not get entry2"));
|
||||||
@@ -394,7 +392,7 @@ static gboolean gtk_listbox_searchequal_callback(GtkTreeModel* model,
|
|||||||
|
|
||||||
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
gtk_tree_model_get(GTK_TREE_MODEL(listbox->m_liststore),
|
||||||
iter,
|
iter,
|
||||||
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
WXLISTBOX_DATACOLUMN_ARG(listbox),
|
||||||
&entry, -1);
|
&entry, -1);
|
||||||
wxCHECK_MSG(entry, 0, wxT("Could not get entry"));
|
wxCHECK_MSG(entry, 0, wxT("Could not get entry"));
|
||||||
gchar* keycollatekey = g_utf8_collate_key(key, -1);
|
gchar* keycollatekey = g_utf8_collate_key(key, -1);
|
||||||
@@ -423,7 +421,7 @@ void wxListBox::Init()
|
|||||||
{
|
{
|
||||||
m_treeview = (GtkTreeView*) NULL;
|
m_treeview = (GtkTreeView*) NULL;
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
m_hasCheckBoxes = FALSE;
|
m_hasCheckBoxes = false;
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
m_spacePressed = false;
|
m_spacePressed = false;
|
||||||
}
|
}
|
||||||
@@ -446,15 +444,15 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
long style, const wxValidator& validator,
|
long style, const wxValidator& validator,
|
||||||
const wxString &name )
|
const wxString &name )
|
||||||
{
|
{
|
||||||
m_needParent = TRUE;
|
m_needParent = true;
|
||||||
m_acceptsFocus = TRUE;
|
m_acceptsFocus = true;
|
||||||
m_blockEvent = FALSE;
|
m_blockEvent = false;
|
||||||
|
|
||||||
if (!PreCreation( parent, pos, size ) ||
|
if (!PreCreation( parent, pos, size ) ||
|
||||||
!CreateBase( parent, id, pos, size, style, validator, name ))
|
!CreateBase( parent, id, pos, size, style, validator, name ))
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( wxT("wxListBox creation failed") );
|
wxFAIL_MSG( wxT("wxListBox creation failed") );
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_widget = gtk_scrolled_window_new( (GtkAdjustment*) NULL, (GtkAdjustment*) NULL );
|
m_widget = gtk_scrolled_window_new( (GtkAdjustment*) NULL, (GtkAdjustment*) NULL );
|
||||||
@@ -481,9 +479,9 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
#endif // wxUSE_CHECKLISTBOX && wxUSE_NATIVEGTKCHECKLIST
|
#endif // wxUSE_CHECKLISTBOX && wxUSE_NATIVEGTKCHECKLIST
|
||||||
|
|
||||||
// Create the data column
|
// Create the data column
|
||||||
gtk_tree_view_insert_column_with_attributes(m_treeview, -1, "",
|
gtk_tree_view_insert_column_with_attributes(m_treeview, -1, "",
|
||||||
gtk_cell_renderer_text_new(),
|
gtk_cell_renderer_text_new(),
|
||||||
"text",
|
"text",
|
||||||
WXLISTBOX_DATACOLUMN, NULL);
|
WXLISTBOX_DATACOLUMN, NULL);
|
||||||
|
|
||||||
// Now create+set the model (GtkListStore) - first argument # of columns
|
// Now create+set the model (GtkListStore) - first argument # of columns
|
||||||
@@ -496,17 +494,17 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
m_liststore = gtk_list_store_new(1, GTK_TYPE_TREE_ENTRY);
|
m_liststore = gtk_list_store_new(1, GTK_TYPE_TREE_ENTRY);
|
||||||
|
|
||||||
gtk_tree_view_set_model(m_treeview, GTK_TREE_MODEL(m_liststore));
|
gtk_tree_view_set_model(m_treeview, GTK_TREE_MODEL(m_liststore));
|
||||||
|
|
||||||
g_object_unref(G_OBJECT(m_liststore)); //free on treeview destruction
|
g_object_unref(G_OBJECT(m_liststore)); //free on treeview destruction
|
||||||
|
|
||||||
// Disable the pop-up textctrl that enables searching - note that
|
// Disable the pop-up textctrl that enables searching - note that
|
||||||
// the docs specify that even if this disabled (which we are doing)
|
// the docs specify that even if this disabled (which we are doing)
|
||||||
// the user can still have it through the start-interactive-search
|
// the user can still have it through the start-interactive-search
|
||||||
// key binding...either way we want to provide a searchequal callback
|
// key binding...either way we want to provide a searchequal callback
|
||||||
// NB: If this is enabled a doubleclick event (activate) gets sent
|
// NB: If this is enabled a doubleclick event (activate) gets sent
|
||||||
// on a successful search
|
// on a successful search
|
||||||
gtk_tree_view_set_search_column(m_treeview, WXLISTBOX_DATACOLUMN);
|
gtk_tree_view_set_search_column(m_treeview, WXLISTBOX_DATACOLUMN);
|
||||||
gtk_tree_view_set_search_equal_func(m_treeview,
|
gtk_tree_view_set_search_equal_func(m_treeview,
|
||||||
(GtkTreeViewSearchEqualFunc) gtk_listbox_searchequal_callback,
|
(GtkTreeViewSearchEqualFunc) gtk_listbox_searchequal_callback,
|
||||||
this,
|
this,
|
||||||
NULL);
|
NULL);
|
||||||
@@ -515,9 +513,9 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
|
|
||||||
GtkTreeSelection* selection = gtk_tree_view_get_selection( m_treeview );
|
GtkTreeSelection* selection = gtk_tree_view_get_selection( m_treeview );
|
||||||
gtk_tree_selection_set_select_function(selection,
|
gtk_tree_selection_set_select_function(selection,
|
||||||
(GtkTreeSelectionFunc)gtk_listitem_select_cb,
|
(GtkTreeSelectionFunc)gtk_listitem_select_cb,
|
||||||
this, NULL); //NULL == destroycb
|
this, NULL); //NULL == destroycb
|
||||||
|
|
||||||
GtkSelectionMode mode;
|
GtkSelectionMode mode;
|
||||||
if (style & wxLB_MULTIPLE)
|
if (style & wxLB_MULTIPLE)
|
||||||
@@ -537,12 +535,12 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
gtk_tree_selection_set_mode( selection, mode );
|
gtk_tree_selection_set_mode( selection, mode );
|
||||||
|
|
||||||
//Handle sortable stuff
|
//Handle sortable stuff
|
||||||
if(style & wxLB_SORT)
|
if(style & wxLB_SORT)
|
||||||
{
|
{
|
||||||
//Setup sorting in ascending (wx) order
|
//Setup sorting in ascending (wx) order
|
||||||
gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(m_liststore),
|
gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(m_liststore),
|
||||||
WXLISTBOX_DATACOLUMN,
|
WXLISTBOX_DATACOLUMN,
|
||||||
GTK_SORT_ASCENDING);
|
GTK_SORT_ASCENDING);
|
||||||
|
|
||||||
//Set the sort callback
|
//Set the sort callback
|
||||||
@@ -556,7 +554,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (m_widget), GTK_WIDGET(m_treeview) );
|
gtk_container_add (GTK_CONTAINER (m_widget), GTK_WIDGET(m_treeview) );
|
||||||
|
|
||||||
gtk_widget_show( GTK_WIDGET(m_treeview) );
|
gtk_widget_show( GTK_WIDGET(m_treeview) );
|
||||||
|
|
||||||
wxListBox::DoInsertItems(wxArrayString(n, choices), 0); // insert initial items
|
wxListBox::DoInsertItems(wxArrayString(n, choices), 0); // insert initial items
|
||||||
@@ -578,12 +576,12 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
PostCreation(size);
|
PostCreation(size);
|
||||||
SetBestSize(size); // need this too because this is a wxControlWithItems
|
SetBestSize(size); // need this too because this is a wxControlWithItems
|
||||||
|
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxListBox::~wxListBox()
|
wxListBox::~wxListBox()
|
||||||
{
|
{
|
||||||
m_hasVMT = FALSE;
|
m_hasVMT = false;
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
}
|
}
|
||||||
@@ -592,7 +590,7 @@ wxListBox::~wxListBox()
|
|||||||
// adding items
|
// adding items
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxListBox::GtkInsertItems(const wxArrayString& items,
|
void wxListBox::GtkInsertItems(const wxArrayString& items,
|
||||||
void** clientData, int pos)
|
void** clientData, int pos)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( m_treeview != NULL, wxT("invalid listbox") );
|
wxCHECK_RET( m_treeview != NULL, wxT("invalid listbox") );
|
||||||
@@ -616,7 +614,7 @@ void wxListBox::GtkInsertItems(const wxArrayString& items,
|
|||||||
if(!res)
|
if(!res)
|
||||||
{
|
{
|
||||||
wxLogSysError(wxT("internal wxListBox error in insertion"));
|
wxLogSysError(wxT("internal wxListBox error in insertion"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pIter = &iter;
|
pIter = &iter;
|
||||||
@@ -636,7 +634,7 @@ void wxListBox::GtkInsertItems(const wxArrayString& items,
|
|||||||
|
|
||||||
GtkTreeEntry* entry = gtk_tree_entry_new();
|
GtkTreeEntry* entry = gtk_tree_entry_new();
|
||||||
gtk_tree_entry_set_label(entry, wxConvUTF8.cWX2MB(label));
|
gtk_tree_entry_set_label(entry, wxConvUTF8.cWX2MB(label));
|
||||||
gtk_tree_entry_set_destroy_func(entry,
|
gtk_tree_entry_set_destroy_func(entry,
|
||||||
(GtkTreeEntryDestroy)gtk_tree_entry_destroy_cb,
|
(GtkTreeEntryDestroy)gtk_tree_entry_destroy_cb,
|
||||||
this);
|
this);
|
||||||
|
|
||||||
@@ -649,13 +647,13 @@ void wxListBox::GtkInsertItems(const wxArrayString& items,
|
|||||||
#if wxUSE_CHECKLISTBOX && wxUSE_NATIVEGTKCHECKLIST
|
#if wxUSE_CHECKLISTBOX && wxUSE_NATIVEGTKCHECKLIST
|
||||||
if (m_hasCheckBoxes)
|
if (m_hasCheckBoxes)
|
||||||
{
|
{
|
||||||
gtk_list_store_set(m_liststore, &itercur,
|
gtk_list_store_set(m_liststore, &itercur,
|
||||||
0, FALSE, //FALSE == not toggled
|
0, FALSE, //FALSE == not toggled
|
||||||
1, entry, -1);
|
1, entry, -1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
gtk_list_store_set(m_liststore, &itercur,
|
gtk_list_store_set(m_liststore, &itercur,
|
||||||
0, entry, -1);
|
0, entry, -1);
|
||||||
|
|
||||||
g_object_unref(G_OBJECT(entry)); //liststore always refs :)
|
g_object_unref(G_OBJECT(entry)); //liststore always refs :)
|
||||||
@@ -751,7 +749,7 @@ struct _GtkTreeEntry* wxListBox::GtkGetEntry(int n) const
|
|||||||
|
|
||||||
void* wxListBox::DoGetItemClientData( int n ) const
|
void* wxListBox::DoGetItemClientData( int n ) const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( n >= 0 && n < wxListBox::GetCount(), NULL,
|
wxCHECK_MSG( n >= 0 && n < wxListBox::GetCount(), NULL,
|
||||||
wxT("Invalid index passed to GetItemClientData") );
|
wxT("Invalid index passed to GetItemClientData") );
|
||||||
|
|
||||||
GtkTreeEntry* entry = GtkGetEntry(n);
|
GtkTreeEntry* entry = GtkGetEntry(n);
|
||||||
@@ -769,7 +767,7 @@ wxClientData* wxListBox::DoGetItemClientObject( int n ) const
|
|||||||
|
|
||||||
void wxListBox::DoSetItemClientData( int n, void* clientData )
|
void wxListBox::DoSetItemClientData( int n, void* clientData )
|
||||||
{
|
{
|
||||||
wxCHECK_RET( n >= 0 && n < wxListBox::GetCount(),
|
wxCHECK_RET( n >= 0 && n < wxListBox::GetCount(),
|
||||||
wxT("Invalid index passed to SetItemClientData") );
|
wxT("Invalid index passed to SetItemClientData") );
|
||||||
|
|
||||||
GtkTreeEntry* entry = GtkGetEntry(n);
|
GtkTreeEntry* entry = GtkGetEntry(n);
|
||||||
@@ -803,7 +801,7 @@ void wxListBox::SetString( int n, const wxString &string )
|
|||||||
label.Prepend(wxCHECKLBOX_STRING);
|
label.Prepend(wxCHECKLBOX_STRING);
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
|
|
||||||
// RN: This may look wierd but the problem is that the TreeView
|
// RN: This may look wierd but the problem is that the TreeView
|
||||||
// doesn't resort or update when changed above and there is no real
|
// doesn't resort or update when changed above and there is no real
|
||||||
// notification function...
|
// notification function...
|
||||||
void* userdata = gtk_tree_entry_get_userdata(entry);
|
void* userdata = gtk_tree_entry_get_userdata(entry);
|
||||||
@@ -817,7 +815,7 @@ void wxListBox::SetString( int n, const wxString &string )
|
|||||||
aItems.Add(label);
|
aItems.Add(label);
|
||||||
GtkInsertItems(aItems, &userdata, n);
|
GtkInsertItems(aItems, &userdata, n);
|
||||||
if (bWasSelected)
|
if (bWasSelected)
|
||||||
wxListBox::GtkSetSelection(n, TRUE, TRUE);
|
wxListBox::GtkSetSelection(n, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString wxListBox::GetString( int n ) const
|
wxString wxListBox::GetString( int n ) const
|
||||||
@@ -873,13 +871,13 @@ int wxListBox::FindString( const wxString &item, bool bCase ) const
|
|||||||
int wxListBox::GetSelection() const
|
int wxListBox::GetSelection() const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( m_treeview != NULL, -1, wxT("invalid listbox"));
|
wxCHECK_MSG( m_treeview != NULL, -1, wxT("invalid listbox"));
|
||||||
wxCHECK_MSG( HasFlag(wxLB_SINGLE), -1,
|
wxCHECK_MSG( HasFlag(wxLB_SINGLE), -1,
|
||||||
wxT("must be single selection listbox"));
|
wxT("must be single selection listbox"));
|
||||||
|
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
||||||
|
|
||||||
// only works on single-sel
|
// only works on single-sel
|
||||||
if (!gtk_tree_selection_get_selected(selection, NULL, &iter))
|
if (!gtk_tree_selection_get_selected(selection, NULL, &iter))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@@ -900,7 +898,7 @@ int wxListBox::GetSelections( wxArrayInt& aSelections ) const
|
|||||||
aSelections.Empty();
|
aSelections.Empty();
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
||||||
|
|
||||||
if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(m_liststore), &iter))
|
if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(m_liststore), &iter))
|
||||||
@@ -919,7 +917,7 @@ int wxListBox::GetSelections( wxArrayInt& aSelections ) const
|
|||||||
|
|
||||||
bool wxListBox::IsSelected( int n ) const
|
bool wxListBox::IsSelected( int n ) const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( m_treeview != NULL, FALSE, wxT("invalid listbox") );
|
wxCHECK_MSG( m_treeview != NULL, false, wxT("invalid listbox") );
|
||||||
|
|
||||||
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
GtkTreeSelection* selection = gtk_tree_view_get_selection(m_treeview);
|
||||||
|
|
||||||
@@ -928,15 +926,15 @@ bool wxListBox::IsSelected( int n ) const
|
|||||||
GTK_TREE_MODEL(m_liststore),
|
GTK_TREE_MODEL(m_liststore),
|
||||||
&iter, NULL, //NULL = parent = get first
|
&iter, NULL, //NULL = parent = get first
|
||||||
n );
|
n );
|
||||||
|
|
||||||
wxCHECK_MSG( res, FALSE, wxT("Invalid index") );
|
wxCHECK_MSG( res, false, wxT("Invalid index") );
|
||||||
|
|
||||||
return gtk_tree_selection_iter_is_selected(selection, &iter);
|
return gtk_tree_selection_iter_is_selected(selection, &iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxListBox::DoSetSelection( int n, bool select )
|
void wxListBox::DoSetSelection( int n, bool select )
|
||||||
{
|
{
|
||||||
return GtkSetSelection(n, select, TRUE); //docs say no events here
|
return GtkSetSelection(n, select, true); //docs say no events here
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxListBox::GtkSetSelection(int n, const bool select, const bool blockEvent)
|
void wxListBox::GtkSetSelection(int n, const bool select, const bool blockEvent)
|
||||||
@@ -960,7 +958,7 @@ void wxListBox::GtkSetSelection(int n, const bool select, const bool blockEvent)
|
|||||||
else
|
else
|
||||||
gtk_tree_selection_unselect_iter(selection, &iter);
|
gtk_tree_selection_unselect_iter(selection, &iter);
|
||||||
|
|
||||||
m_blockEvent = FALSE;
|
m_blockEvent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxListBox::DoSetFirstItem( int n )
|
void wxListBox::DoSetFirstItem( int n )
|
||||||
@@ -998,13 +996,13 @@ int wxListBox::DoListHitTest(const wxPoint& point) const
|
|||||||
{
|
{
|
||||||
// need to translate from master window since it is in client coords
|
// need to translate from master window since it is in client coords
|
||||||
gint binx, biny;
|
gint binx, biny;
|
||||||
gdk_window_get_geometry(gtk_tree_view_get_bin_window(m_treeview),
|
gdk_window_get_geometry(gtk_tree_view_get_bin_window(m_treeview),
|
||||||
&binx, &biny, NULL, NULL, NULL);
|
&binx, &biny, NULL, NULL, NULL);
|
||||||
|
|
||||||
GtkTreePath* path;
|
GtkTreePath* path;
|
||||||
if ( !gtk_tree_view_get_path_at_pos
|
if ( !gtk_tree_view_get_path_at_pos
|
||||||
(
|
(
|
||||||
m_treeview,
|
m_treeview,
|
||||||
point.x - binx,
|
point.x - binx,
|
||||||
point.y - biny,
|
point.y - biny,
|
||||||
&path,
|
&path,
|
||||||
@@ -1092,7 +1090,7 @@ wxSize wxListBox::DoGetBestSize() const
|
|||||||
int lbWidth = 3 * cx;
|
int lbWidth = 3 * cx;
|
||||||
int lbHeight = 10;
|
int lbHeight = 10;
|
||||||
|
|
||||||
// Get the visible area of the tree view (limit to the 10th item
|
// Get the visible area of the tree view (limit to the 10th item
|
||||||
// so that it isn't too big)
|
// so that it isn't too big)
|
||||||
int count = GetCount();
|
int count = GetCount();
|
||||||
if (count)
|
if (count)
|
||||||
@@ -1122,7 +1120,7 @@ wxSize wxListBox::DoGetBestSize() const
|
|||||||
// make it too small neither
|
// make it too small neither
|
||||||
lbHeight = (cy+4) * wxMin(wxMax(count, 3), 10);
|
lbHeight = (cy+4) * wxMin(wxMax(count, 3), 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add room for the scrollbar
|
// Add room for the scrollbar
|
||||||
lbWidth += wxSystemSettings::GetMetric(wxSYS_VSCROLL_X);
|
lbWidth += wxSystemSettings::GetMetric(wxSYS_VSCROLL_X);
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: checklst.cpp
|
// Name: src/gtk1/checklst.cpp
|
||||||
// Purpose:
|
// Purpose:
|
||||||
// Author: Robert Roebling
|
// Author: Robert Roebling
|
||||||
// Id: $Id$
|
// Id: $Id$
|
||||||
@@ -10,8 +10,6 @@
|
|||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
|
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
|
|
||||||
#include "wx/checklst.h"
|
#include "wx/checklst.h"
|
||||||
@@ -28,7 +26,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox,wxListBox)
|
|||||||
|
|
||||||
wxCheckListBox::wxCheckListBox() : wxListBox()
|
wxCheckListBox::wxCheckListBox() : wxListBox()
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
||||||
@@ -40,7 +38,7 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
|||||||
const wxValidator& validator,
|
const wxValidator& validator,
|
||||||
const wxString& name )
|
const wxString& name )
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
wxListBox::Create( parent, id, pos, size, nStrings, choices, style, validator, name );
|
wxListBox::Create( parent, id, pos, size, nStrings, choices, style, validator, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,14 +50,14 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id,
|
|||||||
const wxValidator& validator,
|
const wxValidator& validator,
|
||||||
const wxString& name )
|
const wxString& name )
|
||||||
{
|
{
|
||||||
m_hasCheckBoxes = TRUE;
|
m_hasCheckBoxes = true;
|
||||||
wxListBox::Create( parent, id, pos, size, choices,
|
wxListBox::Create( parent, id, pos, size, choices,
|
||||||
style, validator, name );
|
style, validator, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxCheckListBox::IsChecked( int index ) const
|
bool wxCheckListBox::IsChecked( int index ) const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( m_list != NULL, FALSE, wxT("invalid checklistbox") );
|
wxCHECK_MSG( m_list != NULL, false, wxT("invalid checklistbox") );
|
||||||
|
|
||||||
GList *child = g_list_nth( m_list->children, index );
|
GList *child = g_list_nth( m_list->children, index );
|
||||||
if (child)
|
if (child)
|
||||||
@@ -73,7 +71,7 @@ bool wxCheckListBox::IsChecked( int index ) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxFAIL_MSG(wxT("wrong checklistbox index"));
|
wxFAIL_MSG(wxT("wrong checklistbox index"));
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxCheckListBox::Check( int index, bool check )
|
void wxCheckListBox::Check( int index, bool check )
|
||||||
|
@@ -10,8 +10,6 @@
|
|||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
|
|
||||||
#if wxUSE_LISTBOX
|
#if wxUSE_LISTBOX
|
||||||
|
|
||||||
#include "wx/listbox.h"
|
#include "wx/listbox.h"
|
||||||
@@ -49,7 +47,7 @@ extern wxWindowGTK *g_delayedFocus;
|
|||||||
extern wxWindowGTK *g_focusWindow;
|
extern wxWindowGTK *g_focusWindow;
|
||||||
extern wxWindowGTK *g_focusWindowLast;
|
extern wxWindowGTK *g_focusWindowLast;
|
||||||
|
|
||||||
static bool g_hasDoubleClicked = FALSE;
|
static bool g_hasDoubleClicked = false;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// idle callback for SetFirstItem
|
// idle callback for SetFirstItem
|
||||||
@@ -105,7 +103,7 @@ static gint gtk_listitem_focus_in_callback( GtkWidget *widget,
|
|||||||
if ( !win->m_hasFocus )
|
if ( !win->m_hasFocus )
|
||||||
{
|
{
|
||||||
// not yet, notify it
|
// not yet, notify it
|
||||||
win->m_hasFocus = TRUE;
|
win->m_hasFocus = true;
|
||||||
|
|
||||||
wxChildFocusEvent eventChildFocus(win);
|
wxChildFocusEvent eventChildFocus(win);
|
||||||
(void)win->GetEventHandler()->ProcessEvent(eventChildFocus);
|
(void)win->GetEventHandler()->ProcessEvent(eventChildFocus);
|
||||||
@@ -136,7 +134,7 @@ static gint gtk_listitem_focus_out_callback( GtkWidget *widget, GdkEventFocus *g
|
|||||||
// have focus already
|
// have focus already
|
||||||
if ( win->m_hasFocus )
|
if ( win->m_hasFocus )
|
||||||
{
|
{
|
||||||
win->m_hasFocus = FALSE;
|
win->m_hasFocus = false;
|
||||||
|
|
||||||
wxFocusEvent event( wxEVT_KILL_FOCUS, win->GetId() );
|
wxFocusEvent event( wxEVT_KILL_FOCUS, win->GetId() );
|
||||||
event.SetEventObject( win );
|
event.SetEventObject( win );
|
||||||
@@ -241,14 +239,14 @@ gtk_listbox_button_press_callback( GtkWidget *widget,
|
|||||||
(((listbox->GetWindowStyleFlag() & wxLB_MULTIPLE) != 0) ||
|
(((listbox->GetWindowStyleFlag() & wxLB_MULTIPLE) != 0) ||
|
||||||
((listbox->GetWindowStyleFlag() & wxLB_EXTENDED) != 0)) )
|
((listbox->GetWindowStyleFlag() & wxLB_EXTENDED) != 0)) )
|
||||||
{
|
{
|
||||||
listbox->m_blockEvent = TRUE;
|
listbox->m_blockEvent = true;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < (int)listbox->GetCount(); i++)
|
for (i = 0; i < (int)listbox->GetCount(); i++)
|
||||||
if (i != sel)
|
if (i != sel)
|
||||||
gtk_list_unselect_item( GTK_LIST(listbox->m_list), i );
|
gtk_list_unselect_item( GTK_LIST(listbox->m_list), i );
|
||||||
|
|
||||||
listbox->m_blockEvent = FALSE;
|
listbox->m_blockEvent = false;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -274,7 +272,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
|
|||||||
if (g_blockEventsOnDrag)
|
if (g_blockEventsOnDrag)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
bool ret = FALSE;
|
bool ret = false;
|
||||||
|
|
||||||
if ((gdk_event->keyval == GDK_Tab) || (gdk_event->keyval == GDK_ISO_Left_Tab))
|
if ((gdk_event->keyval == GDK_Tab) || (gdk_event->keyval == GDK_ISO_Left_Tab))
|
||||||
{
|
{
|
||||||
@@ -290,7 +288,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
|
|||||||
if ((gdk_event->keyval == GDK_Return) && (!ret))
|
if ((gdk_event->keyval == GDK_Return) && (!ret))
|
||||||
{
|
{
|
||||||
// eat return in all modes
|
// eat return in all modes
|
||||||
ret = TRUE;
|
ret = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
@@ -318,7 +316,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
|
|||||||
|
|
||||||
if (sel != -1)
|
if (sel != -1)
|
||||||
{
|
{
|
||||||
ret = TRUE;
|
ret = true;
|
||||||
|
|
||||||
if (listbox->IsSelected( sel ))
|
if (listbox->IsSelected( sel ))
|
||||||
gtk_list_unselect_item( listbox->m_list, sel );
|
gtk_list_unselect_item( listbox->m_list, sel );
|
||||||
@@ -458,7 +456,7 @@ wxListBox::wxListBox()
|
|||||||
{
|
{
|
||||||
m_list = (GtkList *) NULL;
|
m_list = (GtkList *) NULL;
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
m_hasCheckBoxes = FALSE;
|
m_hasCheckBoxes = false;
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -480,16 +478,16 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
long style, const wxValidator& validator,
|
long style, const wxValidator& validator,
|
||||||
const wxString &name )
|
const wxString &name )
|
||||||
{
|
{
|
||||||
m_needParent = TRUE;
|
m_needParent = true;
|
||||||
m_acceptsFocus = TRUE;
|
m_acceptsFocus = true;
|
||||||
m_prevSelection = 0; // or -1 ??
|
m_prevSelection = 0; // or -1 ??
|
||||||
m_blockEvent = FALSE;
|
m_blockEvent = false;
|
||||||
|
|
||||||
if (!PreCreation( parent, pos, size ) ||
|
if (!PreCreation( parent, pos, size ) ||
|
||||||
!CreateBase( parent, id, pos, size, style, validator, name ))
|
!CreateBase( parent, id, pos, size, style, validator, name ))
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( wxT("wxListBox creation failed") );
|
wxFAIL_MSG( wxT("wxListBox creation failed") );
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_widget = gtk_scrolled_window_new( (GtkAdjustment*) NULL, (GtkAdjustment*) NULL );
|
m_widget = gtk_scrolled_window_new( (GtkAdjustment*) NULL, (GtkAdjustment*) NULL );
|
||||||
@@ -558,12 +556,12 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
|
|||||||
PostCreation(size);
|
PostCreation(size);
|
||||||
SetBestSize(size); // need this too because this is a wxControlWithItems
|
SetBestSize(size); // need this too because this is a wxControlWithItems
|
||||||
|
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxListBox::~wxListBox()
|
wxListBox::~wxListBox()
|
||||||
{
|
{
|
||||||
m_hasVMT = FALSE;
|
m_hasVMT = false;
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
|
|
||||||
@@ -787,7 +785,7 @@ void wxListBox::Clear()
|
|||||||
{
|
{
|
||||||
// destroy the data (due to Robert's idea of using wxList<wxObject>
|
// destroy the data (due to Robert's idea of using wxList<wxObject>
|
||||||
// and not wxList<wxClientData> we can't just say
|
// and not wxList<wxClientData> we can't just say
|
||||||
// m_clientList.DeleteContents(TRUE) - this would crash!
|
// m_clientList.DeleteContents(true) - this would crash!
|
||||||
wxList::compatibility_iterator node = m_clientList.GetFirst();
|
wxList::compatibility_iterator node = m_clientList.GetFirst();
|
||||||
while ( node )
|
while ( node )
|
||||||
{
|
{
|
||||||
@@ -1019,11 +1017,11 @@ int wxListBox::GetSelections( wxArrayInt& aSelections ) const
|
|||||||
|
|
||||||
bool wxListBox::IsSelected( int n ) const
|
bool wxListBox::IsSelected( int n ) const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( m_list != NULL, FALSE, wxT("invalid listbox") );
|
wxCHECK_MSG( m_list != NULL, false, wxT("invalid listbox") );
|
||||||
|
|
||||||
GList *target = g_list_nth( m_list->children, n );
|
GList *target = g_list_nth( m_list->children, n );
|
||||||
|
|
||||||
wxCHECK_MSG( target, FALSE, wxT("invalid listbox index") );
|
wxCHECK_MSG( target, false, wxT("invalid listbox index") );
|
||||||
|
|
||||||
return (GTK_WIDGET(target->data)->state == GTK_STATE_SELECTED) ;
|
return (GTK_WIDGET(target->data)->state == GTK_STATE_SELECTED) ;
|
||||||
}
|
}
|
||||||
@@ -1032,7 +1030,7 @@ void wxListBox::DoSetSelection( int n, bool select )
|
|||||||
{
|
{
|
||||||
wxCHECK_RET( m_list != NULL, wxT("invalid listbox") );
|
wxCHECK_RET( m_list != NULL, wxT("invalid listbox") );
|
||||||
|
|
||||||
m_blockEvent = TRUE;
|
m_blockEvent = true;
|
||||||
|
|
||||||
if (select)
|
if (select)
|
||||||
{
|
{
|
||||||
@@ -1044,7 +1042,7 @@ void wxListBox::DoSetSelection( int n, bool select )
|
|||||||
else
|
else
|
||||||
gtk_list_unselect_item( m_list, n );
|
gtk_list_unselect_item( m_list, n );
|
||||||
|
|
||||||
m_blockEvent = FALSE;
|
m_blockEvent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxListBox::DoSetFirstItem( int n )
|
void wxListBox::DoSetFirstItem( int n )
|
||||||
@@ -1124,22 +1122,22 @@ GtkWidget *wxListBox::GetConnectWidget()
|
|||||||
|
|
||||||
bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
|
bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
|
||||||
{
|
{
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (m_widget->window == window) return TRUE;
|
if (m_widget->window == window) return true;
|
||||||
|
|
||||||
if (GTK_WIDGET(m_list)->window == window) return TRUE;
|
if (GTK_WIDGET(m_list)->window == window) return true;
|
||||||
|
|
||||||
GList *child = m_list->children;
|
GList *child = m_list->children;
|
||||||
while (child)
|
while (child)
|
||||||
{
|
{
|
||||||
GtkWidget *bin = GTK_WIDGET( child->data );
|
GtkWidget *bin = GTK_WIDGET( child->data );
|
||||||
if (bin->window == window) return TRUE;
|
if (bin->window == window) return true;
|
||||||
child = child->next;
|
child = child->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user