modified check listbox indicators and made them customizable
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 28 Dec 2000 14:07:00 +0000 (14:07 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 28 Dec 2000 14:07:00 +0000 (14:07 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/checklst.h
include/wx/gtk1/checklst.h
src/gtk/checklst.cpp
src/gtk/listbox.cpp
src/gtk1/checklst.cpp
src/gtk1/listbox.cpp

index 3290184e06a80db003d72f1195f9b71b5270a308..11f9980a334c875e66ed984de3793975c85eb27c 100644 (file)
 #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
 {
index 3290184e06a80db003d72f1195f9b71b5270a308..11f9980a334c875e66ed984de3793975c85eb27c 100644 (file)
 #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
 {
index 03909142071d7529a9f627fe008c1f78dde0aa17..74064e190cf081261f538f8152ef4ddf73b1c219 100644 (file)
@@ -30,13 +30,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 );
@@ -54,7 +54,7 @@ bool wxCheckListBox::IsChecked( int index ) const
 
         wxString str = wxString(label->label,*wxConvCurrent);
 
-        return (str.GetChar(1) == wxT('X'));
+        return str.GetChar(1) == wxCHECKLBOX_CHECKED;
     }
 
     wxFAIL_MSG(wxT("wrong checklistbox index"));
@@ -73,12 +73,10 @@ void wxCheckListBox::Check( int index, bool check )
 
         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() );
 
index de705e5ce37ca6ddd5ae1d27fdc846d09ace4023..56e8db0c7d1d24c86417de62b7998314be735741 100644 (file)
@@ -51,10 +51,8 @@ extern bool g_isIdle;
 
 #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))
@@ -520,7 +518,7 @@ void wxListBox::GtkAddItem( const wxString &item, int pos )
 #if wxUSE_CHECKLISTBOX
     if (m_hasCheckBoxes)
     {
-        label.Prepend(CHECKBOX_STRING);
+        label.Prepend(wxCHECKLBOX_STRING);
     }
 #endif // wxUSE_CHECKLISTBOX
 
@@ -714,7 +712,7 @@ void wxListBox::SetString( int n, const wxString &string )
         wxString str;
 #if wxUSE_CHECKLISTBOX
         if (m_hasCheckBoxes)
-            str += CHECKBOX_STRING;
+            str += wxCHECKLBOX_STRING;
 #endif // wxUSE_CHECKLISTBOX
         str += string;
 
index 03909142071d7529a9f627fe008c1f78dde0aa17..74064e190cf081261f538f8152ef4ddf73b1c219 100644 (file)
@@ -30,13 +30,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 );
@@ -54,7 +54,7 @@ bool wxCheckListBox::IsChecked( int index ) const
 
         wxString str = wxString(label->label,*wxConvCurrent);
 
-        return (str.GetChar(1) == wxT('X'));
+        return str.GetChar(1) == wxCHECKLBOX_CHECKED;
     }
 
     wxFAIL_MSG(wxT("wrong checklistbox index"));
@@ -73,12 +73,10 @@ void wxCheckListBox::Check( int index, bool check )
 
         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() );
 
index de705e5ce37ca6ddd5ae1d27fdc846d09ace4023..56e8db0c7d1d24c86417de62b7998314be735741 100644 (file)
@@ -51,10 +51,8 @@ extern bool g_isIdle;
 
 #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))
@@ -520,7 +518,7 @@ void wxListBox::GtkAddItem( const wxString &item, int pos )
 #if wxUSE_CHECKLISTBOX
     if (m_hasCheckBoxes)
     {
-        label.Prepend(CHECKBOX_STRING);
+        label.Prepend(wxCHECKLBOX_STRING);
     }
 #endif // wxUSE_CHECKLISTBOX
 
@@ -714,7 +712,7 @@ void wxListBox::SetString( int n, const wxString &string )
         wxString str;
 #if wxUSE_CHECKLISTBOX
         if (m_hasCheckBoxes)
-            str += CHECKBOX_STRING;
+            str += wxCHECKLBOX_STRING;
 #endif // wxUSE_CHECKLISTBOX
         str += string;