X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88ac883a0d005437c97a60d8195bd5e4719b1154..bb6de5ffad98697205287a04fe91ca73e7194709:/src/gtk/checklst.cpp?ds=sidebyside diff --git a/src/gtk/checklst.cpp b/src/gtk/checklst.cpp index 57bd258ee1..01e3bc7c54 100644 --- a/src/gtk/checklst.cpp +++ b/src/gtk/checklst.cpp @@ -11,10 +11,14 @@ #pragma implementation "checklst.h" #endif +#include "wx/defs.h" + +#if wxUSE_CHECKLISTBOX + #include "wx/checklst.h" -#include "gdk/gdk.h" -#include "gtk/gtk.h" +#include +#include //----------------------------------------------------------------------------- // wxCheckListBox @@ -28,13 +32,13 @@ wxCheckListBox::wxCheckListBox() : wxListBox() } wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id, - const wxPoint& pos, - const wxSize& size, - int nStrings, - const wxString *choices, - long style, - const wxValidator& validator, - const wxString& name ) + const wxPoint& pos, + const wxSize& size, + int nStrings, + const wxString *choices, + long style, + const wxValidator& validator, + const wxString& name ) { m_hasCheckBoxes = TRUE; wxListBox::Create( parent, id, pos, size, nStrings, choices, style, validator, name ); @@ -42,7 +46,7 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id, bool wxCheckListBox::IsChecked( int index ) const { - wxCHECK_MSG( m_list != NULL, FALSE, _T("invalid checklistbox") ); + wxCHECK_MSG( m_list != NULL, FALSE, wxT("invalid checklistbox") ); GList *child = g_list_nth( m_list->children, index ); if (child) @@ -50,18 +54,18 @@ bool wxCheckListBox::IsChecked( int index ) const GtkBin *bin = GTK_BIN( child->data ); GtkLabel *label = GTK_LABEL( bin->child ); - wxString str = label->label; + wxString str = wxString(label->label,*wxConvCurrent); - return (str[1] == 'X'); + return str.GetChar(1) == wxCHECKLBOX_CHECKED; } - wxFAIL_MSG(_T("wrong checklistbox index")); + wxFAIL_MSG(wxT("wrong checklistbox index")); return FALSE; } void wxCheckListBox::Check( int index, bool check ) { - wxCHECK_RET( m_list != NULL, _T("invalid checklistbox") ); + wxCHECK_RET( m_list != NULL, wxT("invalid checklistbox") ); GList *child = g_list_nth( m_list->children, index ); if (child) @@ -69,21 +73,19 @@ void wxCheckListBox::Check( int index, bool check ) GtkBin *bin = GTK_BIN( child->data ); GtkLabel *label = GTK_LABEL( bin->child ); - wxString str = label->label; + wxString str = wxString(label->label,*wxConvCurrent); - if (check == (str[1] == _T('X'))) return; + if (check == (str.GetChar(1) == wxCHECKLBOX_CHECKED)) + return; - if (check) - str.SetChar( 1, _T('X') ); - else - str.SetChar( 1, _T('-') ); + str.SetChar( 1, check ? wxCHECKLBOX_CHECKED : wxCHECKLBOX_UNCHECKED ); gtk_label_set( label, str.mbc_str() ); return; } - wxFAIL_MSG(_T("wrong checklistbox index")); + wxFAIL_MSG(wxT("wrong checklistbox index")); } int wxCheckListBox::GetItemHeight() const @@ -91,3 +93,5 @@ int wxCheckListBox::GetItemHeight() const // FIXME return 22; } + +#endif