#include "wx/control.h"
#include "wx/listbox.h"
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
+// macros
+// ----------------------------------------------------------------------------
-class wxCheckListBox;
+// there is no "right" choice of the checkbox indicators, so allow the user to
+// define them himself if he wants
+#ifndef wxCHECKLBOX_CHECKED
+ #define wxCHECKLBOX_CHECKED _T('x')
+ #define wxCHECKLBOX_UNCHECKED _T(' ')
-//-----------------------------------------------------------------------------
+ #define wxCHECKLBOX_STRING _T("[ ] ")
+#endif
+
+// ----------------------------------------------------------------------------
// wxCheckListBox
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
class wxCheckListBox : public wxListBox
{
#include "wx/control.h"
#include "wx/listbox.h"
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
+// macros
+// ----------------------------------------------------------------------------
-class wxCheckListBox;
+// there is no "right" choice of the checkbox indicators, so allow the user to
+// define them himself if he wants
+#ifndef wxCHECKLBOX_CHECKED
+ #define wxCHECKLBOX_CHECKED _T('x')
+ #define wxCHECKLBOX_UNCHECKED _T(' ')
-//-----------------------------------------------------------------------------
+ #define wxCHECKLBOX_STRING _T("[ ] ")
+#endif
+
+// ----------------------------------------------------------------------------
// wxCheckListBox
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
class wxCheckListBox : public 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 );
wxString str = wxString(label->label,*wxConvCurrent);
- return (str.GetChar(1) == wxT('X'));
+ return str.GetChar(1) == wxCHECKLBOX_CHECKED;
}
wxFAIL_MSG(wxT("wrong checklistbox index"));
wxString str = wxString(label->label,*wxConvCurrent);
- if (check == (str.GetChar(1) == wxT('X'))) return;
+ if (check == (str.GetChar(1) == wxCHECKLBOX_CHECKED))
+ return;
- if (check)
- str.SetChar( 1, wxT('X') );
- else
- str.SetChar( 1, wxT('-') );
+ str.SetChar( 1, check ? wxCHECKLBOX_CHECKED : wxCHECKLBOX_UNCHECKED );
gtk_label_set( label, str.mbc_str() );
#if wxUSE_CHECKLISTBOX
-#define CHECKBOX_STRING "[-] "
-
// checklistboxes have "[±] " prepended to their lables, this macro removes it
-// (NB: 4 below is the length of CHECKBOX_STRING above)
+// (NB: 4 below is the length of wxCHECKLBOX_STRING above)
//
// the argument to it is a "const char *" pointer
#define GET_REAL_LABEL(label) ((m_hasCheckBoxes)?(label)+4 : (label))
#if wxUSE_CHECKLISTBOX
if (m_hasCheckBoxes)
{
- label.Prepend(CHECKBOX_STRING);
+ label.Prepend(wxCHECKLBOX_STRING);
}
#endif // wxUSE_CHECKLISTBOX
wxString str;
#if wxUSE_CHECKLISTBOX
if (m_hasCheckBoxes)
- str += CHECKBOX_STRING;
+ str += wxCHECKLBOX_STRING;
#endif // wxUSE_CHECKLISTBOX
str += string;
}
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 );
wxString str = wxString(label->label,*wxConvCurrent);
- return (str.GetChar(1) == wxT('X'));
+ return str.GetChar(1) == wxCHECKLBOX_CHECKED;
}
wxFAIL_MSG(wxT("wrong checklistbox index"));
wxString str = wxString(label->label,*wxConvCurrent);
- if (check == (str.GetChar(1) == wxT('X'))) return;
+ if (check == (str.GetChar(1) == wxCHECKLBOX_CHECKED))
+ return;
- if (check)
- str.SetChar( 1, wxT('X') );
- else
- str.SetChar( 1, wxT('-') );
+ str.SetChar( 1, check ? wxCHECKLBOX_CHECKED : wxCHECKLBOX_UNCHECKED );
gtk_label_set( label, str.mbc_str() );
#if wxUSE_CHECKLISTBOX
-#define CHECKBOX_STRING "[-] "
-
// checklistboxes have "[±] " prepended to their lables, this macro removes it
-// (NB: 4 below is the length of CHECKBOX_STRING above)
+// (NB: 4 below is the length of wxCHECKLBOX_STRING above)
//
// the argument to it is a "const char *" pointer
#define GET_REAL_LABEL(label) ((m_hasCheckBoxes)?(label)+4 : (label))
#if wxUSE_CHECKLISTBOX
if (m_hasCheckBoxes)
{
- label.Prepend(CHECKBOX_STRING);
+ label.Prepend(wxCHECKLBOX_STRING);
}
#endif // wxUSE_CHECKLISTBOX
wxString str;
#if wxUSE_CHECKLISTBOX
if (m_hasCheckBoxes)
- str += CHECKBOX_STRING;
+ str += wxCHECKLBOX_STRING;
#endif // wxUSE_CHECKLISTBOX
str += string;